merge vs. rebase question

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

merge vs. rebase question

From: Dennis Putnam <hidden>
Date: 2016-06-15 22:55:48

As a git noob I am having trouble understanding when to use which
commands. I have a repository (bare) on my Linux server. I also created
a build directory as a local repository. In my build script I do a 'git
pull' to make sure the build directory is up to date. No changes are
made to my source so this repository never does an 'add' or 'commit'.
When I run my script with 'pull', the output indicates that changes were
found and seems to have pulled them into the local directory. However,
when I look at the resulting source, none of the expected changes show
up. I then tried a 'fetch' and 'rebase'. That worked but I don't
understand why. I thought 'pull' did a 'fetch' and a 'merge' so I don't
understand why a 'fetch' and 'rebase' worked but 'fetch' and 'merge' did
not. Unless my understanding of what 'pull' does is wrong. In my case,
what should I be using in my script to assure that the build directory
is current?

Thanks.

Re: merge vs. rebase question

From: Phil Hord <hidden>
Date: 2016-06-15 22:55:48

On Thu, Jan 17, 2013 at 9:14 AM, Dennis Putnam [off-list ref] wrote:
As a git noob I am having trouble understanding when to use which
commands. I have a repository (bare) on my Linux server. I also created
a build directory as a local repository. In my build script I do a 'git
pull' to make sure the build directory is up to date. No changes are
made to my source so this repository never does an 'add' or 'commit'.
When I run my script with 'pull', the output indicates that changes were
found and seems to have pulled them into the local directory. However,
when I look at the resulting source, none of the expected changes show
up. I then tried a 'fetch' and 'rebase'. That worked but I don't
understand why. I thought 'pull' did a 'fetch' and a 'merge' so I don't
understand why a 'fetch' and 'rebase' worked but 'fetch' and 'merge' did
not. Unless my understanding of what 'pull' does is wrong. In my case,
what should I be using in my script to assure that the build directory
is current?
If your build directory never has any source changes or new commits,
then pull is the right thing to do.  You might want to use 'git pull
--ff-only' to guarantee that your build directory is not creating
merges unexpectedly.

You did not provide enough information to help figure out why your
pull is failing to achieve the results you expect.  I suggest you
perform the pull manually in your build directory.  If it fails, git
should tell you why.  If it reports success but actually fails, you
can post a detailed explanation of the problem here so someone can
suggest the cause.

Phil

Re: merge vs. rebase question

From: Dennis Putnam <hidden>
Date: 2016-06-15 22:55:48

Thanks for the reply. I'm afraid this question has become moot. I can no
longer reproduce the problem as it is now working as expected. I did
find an incorrect ownership on one of the 'objects' sub-directories but
I would think that should have given me an error. Perhaps I used root at
the wrong time to do something and that changed the ownership. In any
case there is not much I can do at this point since the problem no
longer exists.

On 1/18/2013 1:38 PM, Phil Hord wrote:
On Thu, Jan 17, 2013 at 9:14 AM, Dennis Putnam [off-list ref] wrote:
quoted
As a git noob I am having trouble understanding when to use which
commands. I have a repository (bare) on my Linux server. I also created
a build directory as a local repository. In my build script I do a 'git
pull' to make sure the build directory is up to date. No changes are
made to my source so this repository never does an 'add' or 'commit'.
When I run my script with 'pull', the output indicates that changes were
found and seems to have pulled them into the local directory. However,
when I look at the resulting source, none of the expected changes show
up. I then tried a 'fetch' and 'rebase'. That worked but I don't
understand why. I thought 'pull' did a 'fetch' and a 'merge' so I don't
understand why a 'fetch' and 'rebase' worked but 'fetch' and 'merge' did
not. Unless my understanding of what 'pull' does is wrong. In my case,
what should I be using in my script to assure that the build directory
is current?
If your build directory never has any source changes or new commits,
then pull is the right thing to do.  You might want to use 'git pull
--ff-only' to guarantee that your build directory is not creating
merges unexpectedly.

You did not provide enough information to help figure out why your
pull is failing to achieve the results you expect.  I suggest you
perform the pull manually in your build directory.  If it fails, git
should tell you why.  If it reports success but actually fails, you
can post a detailed explanation of the problem here so someone can
suggest the cause.

Phil

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help