Repository navigation
git-filesync 0.21.1
Review fixes: mv all or none, unknown sync points, discarded content
Changes:
- A recorded commit the source doesn't have - it may be behind (a mapped
checkout not updated, not fetched) or upstream history was rewritten -
is not guessed at: status shows the file as 'changed (previous sync
point unknown)' and names both ways on, pull --all leaves it alone
("need attention"), and pull FILE syncs it to the source's current
version. Before, pull --all synced it, possibly back to an older version. - mv OLD... DIR checks every OLD before moving any, and moves nothing if
one fails: something in the way no longer leaves the others moved and
.git-filesync unstaged. - restore -S only sets the index, so something in the way in the working
tree no longer stops it. - --overwrite (add, and pull at the first sync of a new link) replaces an
existing file only if it differs from the upstream version: an
identical one is no longer reported as replaced or kept as discarded. - Where rm -f, --overwrite or restore -S replace the index entry, a staged
version that is neither committed nor in the working tree is kept too:
"discarded: FILE, as staged (git show ID to get it back)", as the
working tree file was (line ends, LFS). - Proposed commit messages stay free of signature lines with
log.showSignature set. - Fewer git calls: mv of several files, and dates for pull when a
recorded commit is unknown.
Documentation:
- README and MANUAL shorter and to the point; README "Why?" is
"Motivation"; same structure as git-assetsync. - MANUAL: unknown previous sync points; the scheduled CI job; discarded
content, also staged versions; restore -S with something in the way. - Pinned example versions in README and MANUAL set to v0.21.1.
This release replaces the 0.21.1 of earlier the same day, whose guess at
a source being behind is gone again.