mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-09-12 14:09:12 +08:00

Lets keep it as 'Added Journal Entry', as this way it isn't obvious that'we loosing the history of the changes when moving from the local to the remote repo. Implementing proper migration would take me hours, and its not a priority right now.
47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'dart:async';
|
|
import 'dart:io';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:journal/apis/git.dart';
|
|
import 'package:journal/settings.dart';
|
|
import 'package:path/path.dart' as p;
|
|
|
|
//
|
|
// FIXME: This isn't ideal as we are skipping all the edits / deletes
|
|
//
|
|
Future migrateGitRepo({
|
|
@required String gitBasePath,
|
|
@required String fromGitBasePath,
|
|
@required String toGitBaseFolder,
|
|
@required String toGitBaseSubFolder,
|
|
}) async {
|
|
print(
|
|
"migrateGitRepo $fromGitBasePath $toGitBaseFolder / $toGitBaseSubFolder");
|
|
var fromBasePath = p.join(gitBasePath, fromGitBasePath);
|
|
var toGitRepoPath = p.join(gitBasePath, toGitBaseFolder, toGitBaseSubFolder);
|
|
print("toGitRemotePath $toGitRepoPath");
|
|
|
|
final dir = Directory(fromBasePath);
|
|
var lister = dir.list(recursive: false);
|
|
await for (var fileEntity in lister) {
|
|
if (fileEntity is! File) {
|
|
continue;
|
|
}
|
|
File file = fileEntity;
|
|
var fileName = p.basename(file.path);
|
|
var toPath = p.join(toGitRepoPath, fileName);
|
|
|
|
print("Migrating " + file.path + " --> " + toPath);
|
|
|
|
await file.copy(toPath);
|
|
await gitAdd(toGitBaseFolder, fileName);
|
|
await gitCommit(
|
|
gitFolder: toGitBaseFolder,
|
|
authorEmail: Settings.instance.gitAuthorEmail,
|
|
authorName: Settings.instance.gitAuthor,
|
|
message: "Added Journal Entry",
|
|
);
|
|
}
|
|
print("migrateGitRepo: Done");
|
|
}
|