Added a comment
This commit is contained in:
parent
5a9eed6a41
commit
982ad19002
1 changed files with 49 additions and 0 deletions
|
@ -0,0 +1,49 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1"
|
||||||
|
nickname="amerlyq+annex"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/3d63c9f436b45570d45bd003e468cbd3"
|
||||||
|
subject="comment 2"
|
||||||
|
date="2022-01-04T13:41:03Z"
|
||||||
|
content="""
|
||||||
|
> I guess you mean commits like \"import from foo\", or perhaps \"remote tracking branch\". Not adb-specific at all.
|
||||||
|
|
||||||
|
Yes.
|
||||||
|
|
||||||
|
* First \"import from foo\" commit is OK, but second was empty -- and false-positive, because there were no changes on android.
|
||||||
|
* Consequently, first \"remote tracking branch\" is OK to merge histories, but all next are empty -- and useless, because there is no changes in \"android/main\" branch.
|
||||||
|
---
|
||||||
|
> The \"remote tracking branch\" commits are merge commits, so cannot be avoided, even though they don't make any apparent changes.
|
||||||
|
|
||||||
|
Can't we simply... don't do them? Skip? Revert? Fast-forward?
|
||||||
|
|
||||||
|
I don't mind this history hell inside git-annex branch, but cluttering \"main\" branch... is something else.
|
||||||
|
After first merge of unrelated histories -- we don't really need another merge commit unless new changes where introduced during import, do we?
|
||||||
|
---
|
||||||
|
> Of course, you can rebase out any of these commits if you want to.
|
||||||
|
|
||||||
|
Theoretically yes, practically no. If I run \"git annex sync\" -- this history will be propagated to all my connected in that moment devices -- PC, laptop, NAS, remote VPS, and maybe HDD.
|
||||||
|
Rebasing and cleaning up them after that -- impractical.
|
||||||
|
|
||||||
|
---
|
||||||
|
> It mostly does manage to avoid making the \"import from\" commits when there is no difference from the previous commit.
|
||||||
|
> Subsequent imports, when there are no changes to the tree, do not make a new commit.
|
||||||
|
|
||||||
|
It seems this does not work as described.
|
||||||
|
|
||||||
|
You depend on CID (size, modificiation time, and inode) when doing comparisons.
|
||||||
|
|
||||||
|
1) Most likely this issue is related to https://git-annex.branchable.com/bugs/adb_pull_does_not_preserve_timestamp/ ,
|
||||||
|
that results in a different mtime on remote and on PC when you \"import\" new files.
|
||||||
|
|
||||||
|
Then each time you do \"import\" -- git-annex detect changes by mtime and creates commit, but it's empty because content hadn't actually changed.
|
||||||
|
|
||||||
|
2) Alternative *heisenbug* is the time skew between what android \"sdcard\" virtual filesystem reports and what it actually transfers. Probability is too low, though :)
|
||||||
|
|
||||||
|
---
|
||||||
|
P.S. I'm not sure if it's a separate bug or related to \"mtime\" too (scenario (1) or even (2)), but:
|
||||||
|
|
||||||
|
* if I create a new repo and do \"export\" multiple times in a row into empty folder -- it works OK.
|
||||||
|
* But on the next day when I'm trying to \"export\" again -- it reports error \"unsafe to overwrite file //failed\"
|
||||||
|
|
||||||
|
But I had no changes in either repo or in android folder. And it worked multiple times in a row the day before!
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue