diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2013-01-24 17:25:17 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2013-01-25 16:00:22 +0000 |
commit | 81426ef48f85b32804f744e6fcf89b6372325dc7 (patch) | |
tree | 3498a3d5c71745a10e590d913cd506174f80faeb /morphlib/plugins/branch_and_merge_plugin.py | |
parent | 0a6ab406c667d8b542ee6008349423a83896297b (diff) | |
download | morph-81426ef48f85b32804f744e6fcf89b6372325dc7.tar.gz |
Make temporary build refs count changes against HEAD
Before it would determine which files are changed by comparing your
working tree to
This gets even weirder, since it's effectively comparing your working
tree, the last commit on the temporary build ref, and the last commit
of your HEAD, so committing a change to remove a file isn't noticed,
because it was in the temporary build branch.
It could also cause a strange case of a file being both added and
untracked.
Now the working tree and HEAD are compared, and committed on top of
the temporary build ref.
Better handling of the status output is still required, a deleted
file is treated identically to an added one if it is only removed
in the index.
It would also be nicer to keep the user's index, since they may have
added or removed files from it.
Diffstat (limited to 'morphlib/plugins/branch_and_merge_plugin.py')
-rw-r--r-- | morphlib/plugins/branch_and_merge_plugin.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/morphlib/plugins/branch_and_merge_plugin.py b/morphlib/plugins/branch_and_merge_plugin.py index 88c017c8..60e8d4ef 100644 --- a/morphlib/plugins/branch_and_merge_plugin.py +++ b/morphlib/plugins/branch_and_merge_plugin.py @@ -1486,9 +1486,10 @@ class BranchAndMergePlugin(cliapp.Plugin): # Obtain parent SHA1 for the temporary ref tree to be committed. # This will either be the current commit of the temporary ref or # HEAD in case the temporary ref does not exist yet. + system_branch_sha1 = self.resolve_ref(repo_dir, system_branch) parent_sha1 = self.resolve_ref(repo_dir, build_ref) if not parent_sha1: - parent_sha1 = self.resolve_ref(repo_dir, system_branch) + parent_sha1 = system_branch_sha1 # Prepare an environment with our internal index file. # This index file allows us to commit changes to a tree without @@ -1499,8 +1500,8 @@ class BranchAndMergePlugin(cliapp.Plugin): env['GIT_COMMITTER_NAME'] = committer_name env['GIT_COMMITTER_EMAIL'] = committer_email - # Read tree from parent or current HEAD into the morph index. - self.app.runcmd(['git', 'read-tree', parent_sha1], + # Read tree from current HEAD into the morph index. + self.app.runcmd(['git', 'read-tree', system_branch_sha1], cwd=repo_dir, env=env) self.app.status(msg='%(repo)s: Adding uncommitted changes to ' |