Re: [git-users] Re: Why git merge always ask for a commit message?
On 3 September 2012 18:56, Antony Male antony.m...@gmail.com wrote: On Monday, 3 September 2012 17:32:46 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:13, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 12:19:11 UTC+1, Mauro Sanna wrote: Then I do a git checkout master, git merge devel and push and all done. I always have done this but now, in a new application, when I do git merge devel into master it asks me for a commit message. In version 1.7.10, git started prompting for a commit message after every merge. The rationale behind this is explained in Junio's (the maintainer's) blog post [1] Ok but, why it don't ask for a commit message when used in some other projects? .git/config is the same. Perhaps because I've set the repository using git before 1.7.10? Maybe in one project the merges you're doing are non-fast-forward (as you stated), whereas in the others they're fast-forward? Maybe there's a configuration difference? (I didn't think there was a config key to disable this behaviour, but it's worth a check). Here the config for two of my projects. The first is not fast-forward while in the second the merge is fast-forward. As you can see there are no differences. So I don't understand why the merge of the first project is not fast-forward and asks for a commit message. [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote origin] url = ssh://192.168.241.11/var/git-repos/bbb_rails.git fetch = +refs/heads/*:refs/remotes/origin/* [branch master] remote = origin merge = refs/heads/master [branch devel] remote = origin merge = refs/heads/devel [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote origin] fetch = +refs/heads/*:refs/remotes/origin/* url = ssh://192.168.241.11:/var/git-repos/operatorieconomici.git [branch master] remote = origin merge = refs/heads/master [branch devel] remote = origin merge = refs/heads/devel -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
Re: [git-users] Re: Why git merge always ask for a commit message?
On 3 September 2012 19:45, Antony Male antony.m...@gmail.com wrote: On Monday, 3 September 2012 18:33:03 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:56, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 17:32:46 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:13, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 12:19:11 UTC+1, Mauro Sanna wrote: Then I do a git checkout master, git merge devel and push and all done. I always have done this but now, in a new application, when I do git merge devel into master it asks me for a commit message. In version 1.7.10, git started prompting for a commit message after every merge. The rationale behind this is explained in Junio's (the maintainer's) blog post [1] Ok but, why it don't ask for a commit message when used in some other projects? .git/config is the same. Perhaps because I've set the repository using git before 1.7.10? Maybe in one project the merges you're doing are non-fast-forward (as you stated), whereas in the others they're fast-forward? Maybe there's a configuration difference? (I didn't think there was a config key to disable this behaviour, but it's worth a check). Here the config for two of my projects. The first is not fast-forward while in the second the merge is fast-forward. There we go! Read up on the differences between fast-forward and non-fast-forward merges. [1] is a helpful resource. Now, as you can see, fast-forward merges don't involve an actual merge commit. No merge commit = no commit message. Which is why you're not being prompted for a message for the fast-forward merge.n Yes I know, but I want my merges to be fast-forward. Because git configuration is the same for the two projects I don't know why the merge for first project go fast-forward while the second one not. What's the differerence between the two configurations? There is no difference, so why I have a merge with fast-forward and a merge with no fast-forward? -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
Re: [git-users] Re: Why git merge always ask for a commit message?
On 4 September 2012 14:44, Antony Male antony.m...@gmail.com wrote: On Monday, 3 September 2012 21:53:28 UTC+1, Mauro Sanna wrote: On 3 September 2012 19:45, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 18:33:03 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:56, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 17:32:46 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:13, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 12:19:11 UTC+1, Mauro Sanna wrote: Then I do a git checkout master, git merge devel and push and all done. I always have done this but now, in a new application, when I do git merge devel into master it asks me for a commit message. In version 1.7.10, git started prompting for a commit message after every merge. The rationale behind this is explained in Junio's (the maintainer's) blog post [1] Ok but, why it don't ask for a commit message when used in some other projects? .git/config is the same. Perhaps because I've set the repository using git before 1.7.10? Maybe in one project the merges you're doing are non-fast-forward (as you stated), whereas in the others they're fast-forward? Maybe there's a configuration difference? (I didn't think there was a config key to disable this behaviour, but it's worth a check). Here the config for two of my projects. The first is not fast-forward while in the second the merge is fast-forward. There we go! Read up on the differences between fast-forward and non-fast-forward merges. [1] is a helpful resource. Now, as you can see, fast-forward merges don't involve an actual merge commit. No merge commit = no commit message. Which is why you're not being prompted for a message for the fast-forward merge.n Yes I know, but I want my merges to be fast-forward. Because git configuration is the same for the two projects I don't know why the merge for first project go fast-forward while the second one not. What's the differerence between the two configurations? There is no difference, so why I have a merge with fast-forward and a merge with no fast-forward? 'git merge' will (by default) do a fast-forward merge if it can, otherwise it will do a recursive merge. As shown by the PDF I linked to a few posts back, if you're merging develop into master (git checkout master; git merge develop), a fast-forward merge can happen if and only if develop is a direct descendant of master. That is, if the master branch contains only commits which are also contained by the develop branch. If master has commits which develop does not have, then a fast-forward merge cannot occur, and a recursive merge must be used instead. Graphically: (Use a fixed-width font to view: I know google groups uses a variable-width font by default) A fast-forward merge *can* occur: O--O--O / ^ O--O--Odevelop ^ master which will result in: develop v O--O--O--O--O--O ^ master A fast-forward merge *cannot* occur (as master contains commits which aren't present on develop): develop v O--O--O / O--O--O--O ^ master where a recursive merge will result in (M being the merge commit): develop v O--O--O / \ O--O--O--O--M ^ master If you're having trouble visualising your branch structure, use `gitk master develop` (if gitk is available), otherwise `git log --graph --oneline --decorate master develop`. You should see that, in the repository where fast-forward merges are occuring, there are no commits present on master which aren't also present on develop. In the other repository (where fast-forward merges are not occuring), you will see that there is at least one commit on master which is not also present on develop (you may have to look back a bit, to slightly before the first recursive merge occurred). Hope that helps clarify the situation. If you're still not getting it, paste (or pastebin) the output of `git log --graph --oneline --decorate master develop`, and I can point out the critical difference. Here is: http://pastebin.com/dmxtS8ZB -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
Re: [git-users] Re: Why git merge always ask for a commit message?
On 5 September 2012 00:49, Antony Male antony.m...@gmail.com wrote: On Tuesday, 4 September 2012 21:42:29 UTC+1, Mauro Sanna wrote: On 4 September 2012 14:44, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 21:53:28 UTC+1, Mauro Sanna wrote: On 3 September 2012 19:45, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 18:33:03 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:56, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 17:32:46 UTC+1, Mauro Sanna wrote: On 3 September 2012 18:13, Antony Male anton...@gmail.com wrote: On Monday, 3 September 2012 12:19:11 UTC+1, Mauro Sanna wrote: Then I do a git checkout master, git merge devel and push and all done. I always have done this but now, in a new application, when I do git merge devel into master it asks me for a commit message. In version 1.7.10, git started prompting for a commit message after every merge. The rationale behind this is explained in Junio's (the maintainer's) blog post [1] Ok but, why it don't ask for a commit message when used in some other projects? .git/config is the same. Perhaps because I've set the repository using git before 1.7.10? Maybe in one project the merges you're doing are non-fast-forward (as you stated), whereas in the others they're fast-forward? Maybe there's a configuration difference? (I didn't think there was a config key to disable this behaviour, but it's worth a check). Here the config for two of my projects. The first is not fast-forward while in the second the merge is fast-forward. There we go! Read up on the differences between fast-forward and non-fast-forward merges. [1] is a helpful resource. Now, as you can see, fast-forward merges don't involve an actual merge commit. No merge commit = no commit message. Which is why you're not being prompted for a message for the fast-forward merge.n Yes I know, but I want my merges to be fast-forward. Because git configuration is the same for the two projects I don't know why the merge for first project go fast-forward while the second one not. What's the differerence between the two configurations? There is no difference, so why I have a merge with fast-forward and a merge with no fast-forward? 'git merge' will (by default) do a fast-forward merge if it can, otherwise it will do a recursive merge. As shown by the PDF I linked to a few posts back, if you're merging develop into master (git checkout master; git merge develop), a fast-forward merge can happen if and only if develop is a direct descendant of master. That is, if the master branch contains only commits which are also contained by the develop branch. If master has commits which develop does not have, then a fast-forward merge cannot occur, and a recursive merge must be used instead. Graphically: (Use a fixed-width font to view: I know google groups uses a variable-width font by default) A fast-forward merge *can* occur: O--O--O / ^ O--O--Odevelop ^ master which will result in: develop v O--O--O--O--O--O ^ master A fast-forward merge *cannot* occur (as master contains commits which aren't present on develop): develop v O--O--O / O--O--O--O ^ master where a recursive merge will result in (M being the merge commit): develop v O--O--O / \ O--O--O--O--M ^ master If you're having trouble visualising your branch structure, use `gitk master develop` (if gitk is available), otherwise `git log --graph --oneline --decorate master develop`. You should see that, in the repository where fast-forward merges are occuring, there are no commits present on master which aren't also present on develop. In the other repository (where fast-forward merges are not occuring), you will see that there is at least one commit on master which is not also present on develop (you may have to look back a bit, to slightly before the first recursive merge occurred). Hope that helps clarify the situation. If you're still not getting it, paste (or pastebin) the output of `git log --graph --oneline --decorate master develop`, and I can point out the critical difference. Here is: http://pastebin.com/dmxtS8ZB If you look right down, you'll see commit ba4c51. That commit was made on the master branch. Therefore every time you ask git to merge develop into master, there's history present in master which isn't in the develop branch, making a fast-forward merge impossible
Re: [git-users] Why git merge always ask for a commit message?
On 5 September 2012 15:19, PJ Weisberg pjweisb...@gmail.com wrote: On Tuesday, September 4, 2012, Mauro mrsan...@gmail.com wrote: There is a way now to make a fast-forward merge? Or I must delete brand devel and recreate? Thanks for your answers and your patience. Just merge master into devel Yeah, more simple than I thought. Thank you very much. M -- You received this message because you are subscribed to the Google Groups Git for human beings group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
[git-users] Why git merge always ask for a commit message?
I have two branches: devel and master. I'm using git as repository for some applications. Usually I do changes under devel branch, commit and push. Then I do a git checkout master, git merge devel and push and all done. I always have done this but now, in a new application, when I do git merge devel into master it asks me for a commit message. I read that it is not Fast-forward but it is done by recursive strategy. Configuration are the same in all my projects so I don't know why now git merge asks for a commit message and git merge isn't done Fast-forward. Can you help me please? Thank you. -- You received this message because you are subscribed to the Google Groups Git for human beings group. To view this discussion on the web visit https://groups.google.com/d/msg/git-users/-/Og9a71rfta4J. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
[git-users] gitignore ignored?
Hello. My .gitignore is: *.iws *Db.properties *Db.script .settings stacktrace.log /*.zip /plugin.xml /*.log /*DB.* /cobertura.ser .DS_Store /target/ /out/ /web-app/plugins /web-app/WEB-INF/classes /.link_to_grails_plugins/ /target-eclipse/ When I push my commits I see target and its subdirs in the repository. But target is gitignored, why is it pushed? -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.