Re: subtree merging fails
- From
- Stavros Liaskos <st.liaskos@gmail.com>
- Date
- Feb 8, 2017, 10:42 UTC
- Message-ID
- <CAEXhnEBaH39qavUZRNcOp0BDgqADrtOmamE_DH-Ch5tcH=hADA@mail.gmail.com>
- In-Reply-To
- <20170207184437.c6uuuxcmhi434vbc@gmail.com>
@Samuel Lijin I tried now and I get: "merge: branch_name - not something we can merge". Maybe that is something easy to fix but currently I am using a workaround script so I am not putting any more effort at this at the moment.
@David Aguilar That's true but the trailing slash is already there. This commands looks promising. An update would be GREAT!
FYI that's the script I am using to address this problem:
#!/bin/bash
function initial {
if git remote | grep -q lisa_remote
then
echo "Subtree delete & update"
git checkout lisa_branch
git pull
git checkout master
git merge --squash -s subtree --no-commit lisa_branch
git merge --squash --allow-unrelated-histories -s subtree
--no-commit lisa_branch
else
echo "Add subtree"
git remote add lisa_remote git@xxxxxxxx:lisa/lisa.git
git fetch lisa_remote
git checkout -b lisa_branch lisa_remote/master
git checkout master
git read-tree --prefix=lisaSubTree/ -u lisa_branch
gitrm
git rm --cached -r lisaSubTree/.gitignore
git rm --cached -r lisaSubTree/*
fi
}
initialOn Tue, Feb 7, 2017 at 7:44 PM, David Aguilar <davvid@gmail.com> wrote:
Show 31 quoted lines
> On Tue, Feb 07, 2017 at 08:59:06AM -0600, Samuel Lijin wrote: >> Have you tried using (without -s subtree) -X subtree=path/to/add/subtree/at? >> >> From the man page: >> >> subtree[=<path>] >> This option is a more advanced form of subtree >> strategy, where the strategy >> makes a guess on how two trees must be shifted to match >> with each other when >> merging. Instead, the specified path is prefixed (or >> stripped from the >> beginning) to make the shape of two trees to match. > > I'm not 100% certain, but it's highly likely that the subtree=<prefix> > argument needs to include a trailing slash "/" in the prefix, > otherwise files will be named e.g. "fooREADME" instead of > "foo/README" when prefix=foo. > > These days I would steer users towards the "git-subtree" command in > contrib/ so that users don't need to deal with these details. It > handles all of this stuff for you. > > https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt > > https://github.com/git/git/tree/master/contrib/subtree > > Updating the progit book to also mention git-subtree, in addition to the > low-level methods, would probably be a good user-centric change. > -- > David