Re: erratic behavior commit --allow-empty
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Oct 3, 2012, 05:37 UTC
- Message-ID
- <506BCF19.7020800@viscovery.net>
- In-Reply-To
- <CAB9Jk9D-eJ8goYx7LWqGcWcLgRDS8+qLZVUsvvJ+QOtryP9-zg@mail.gmail.com>
Am 10/2/2012 23:56, schrieb Angelo Borsotti:
Show 29 quoted lines
> The problem I am trying to solve is to push to a remote server the > source files only, > while keeping in the local repo both sources and binaries. To do it, I > keep an orphan > branch, [...] > > # this is the commit on the master branch > git init > echo "aaa" >f1 > git add f1 > git commit -m A > > # this is the piece of the script that builds the sources branch > git checkout --orphan sources > # git rm --cached ... remove binaries, if any" > git commit -m A --allow-empty > git rev-list --all --pretty=oneline > > When there are binaries in the commit A, they are removed, and the > tree for the second > git commit is then different, and the commit is actually created. > When there are no binaries (as in the script above, in which the > removal is commented out), > the second git commit would not create any new commit, and I would not > have an orphan > branch. Thence the --allow-empty to force it to create a new commit. > Unfortunately, it creates a new commit only if the system clock > changes the seconds of > the system time between the two git commits.
But the existing-and-not-created-commit has exactly the content that you wanted. What's the point in insisting that it is different from any other commit?
-- Hannes