Re: [PATCH 06/11] commit: add tests of commit races
Michael Haggerty mhag...@alum.mit.edu writes: On the other hand, there's this [1] and this [2] from the FSF, which recommend a copyright blurb at the beginning of every source file. Though actually the recommendation is to include a GPL blurb too, not just a naked copyright line like I used. But I get the feeling that the FSF's recommendation is more for ideological than for legal reasons. It is relatively recent (late 1980s) that US became part of Berne Convention (1886). Before that you had to write Copyright and All Rights Reserved (or Todos Derechos Reserrvados) in Buenos Aires days. It is not surprising to see the more cautious practice from the older days in recommendations by an old organization like FSF. Is there a reason you did not append the tests in 7509 ? Hmph. I don't know what Hmph means in this context. Hmph, it might deserve more thought, but I do not have opinion right now. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 06/11] commit: add tests of commit races
On Wed, Feb 11, 2015 at 10:10 AM, Junio C Hamano gits...@pobox.com wrote: Michael Haggerty mhag...@alum.mit.edu writes: On the other hand, there's this [1] and this [2] from the FSF, which recommend a copyright blurb at the beginning of every source file. Though actually the recommendation is to include a GPL blurb too, not just a naked copyright line like I used. But I get the feeling that the FSF's recommendation is more for ideological than for legal reasons. It is relatively recent (late 1980s) that US became part of Berne Convention (1886). Before that you had to write Copyright and All Rights Reserved (or Todos Derechos Reserrvados) in Buenos Aires days. Quoting from wikipedia[1] (note however that when the United States joined the Convention in 1988, it continued to make statutory damages and attorney's fees only available for registered works). Does that mean if somebody would infringe the GPL on git (e.g. selling a modified git version without giving sources), it would be harder to tell him to stop because of the missing attorney's fees in case we drop out the copyright notices? (I have no deep understanding of legal processes in the US). It is not surprising to see the more cautious practice from the older days in recommendations by an old organization like FSF. Is there a reason you did not append the tests in 7509 ? You convinced me that having to start with an orphan commit justifies a new test file as well as the nature of the test. Hmph. I don't know what Hmph means in this context. Hmph, it might deserve more thought, but I do not have opinion right now. [1] http://en.wikipedia.org/wiki/Berne_Convention -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 06/11] commit: add tests of commit races
Stefan Beller sbel...@google.com writes: Quoting from wikipedia[1] (note however that when the United States joined the Convention in 1988, it continued to make statutory damages and attorney's fees only available for registered works). Does that mean if somebody would infringe the GPL on git (e.g. selling a modified git version without giving sources), it would be harder to tell him to stop because of the missing attorney's fees in case we drop out the copyright notices? (I have no deep understanding of legal processes in the US). No. registered works in that sentence is about registering copyright with U.S. Copyright Office. In-file Copyright circle-c line does not have much to do with that. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 06/11] commit: add tests of commit races
On 02/10/2015 08:12 PM, Junio C Hamano wrote: Stefan Beller sbel...@google.com writes: On Sun, Feb 8, 2015 at 8:14 AM, Michael Haggerty mhag...@alum.mit.edu wrote: +# Copyright (c) 2014 Michael Haggerty mhag...@alum.mit.edu What is the projects stance on copyright lines? I do not think we have a strong one. I've seen files (most of them from the beginning) having some copyright lines, other files (often introduced way later) not having them, because we're git and have history, so we know who did it. I personally agree with that statement. Also, a copyright notice per file is often added when a new file is added, but that ends up giving false sense of ownership to everybody else down the line even after the file has been extensively modified. It's not like Michael solely owns all lines in this file in later versions. And even if people added their name at the top every time they make any change, their names tend to stay even when their contributions are later completely rewritten or removed. In a sense, my agreement with your statement is stronger than Yes, Git can tell us who did what anyway. What we can find in the history is the sole source of truth, and in-file copyright notice is misleading. You do not even have to have one in the Berne signatory nations anyway. I only put a copyright notice there because I thought it was standard practice. I think it is ugly and would rather do without it, even aside from the practical problems that Junio mentioned. On the other hand, there's this [1] and this [2] from the FSF, which recommend a copyright blurb at the beginning of every source file. Though actually the recommendation is to include a GPL blurb too, not just a naked copyright line like I used. But I get the feeling that the FSF's recommendation is more for ideological than for legal reasons. If I don't hear anything else, I'll delete the copyright line in the reroll. The tests themselves look fine. Is there a reason you did not append the tests in 7509 ? Hmph. I don't know what Hmph means in this context. The description for t7509 is git commit --reset-author, which doesn't seem to describe the new tests. There are also t7500 git commit / Tests for selected commit options t7501 git commit t7502 git commit porcelain-ish I suppose the new tests could go in any of these. But since the tests are thematically a bit unusual (dealing with races rather than testing command-line options) and they start with an orphan commit, I thought it would be just as easy to put them in their own file to make it clear that they are independent. I really don't care either way. Michael [1] http://www.gnu.org/licenses/gpl-howto.html [2] http://www.gnu.org/licenses/gpl-faq.html#NoticeInSourceFile -- Michael Haggerty mhag...@alum.mit.edu -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 06/11] commit: add tests of commit races
Stefan Beller sbel...@google.com writes: On Sun, Feb 8, 2015 at 8:14 AM, Michael Haggerty mhag...@alum.mit.edu wrote: +# Copyright (c) 2014 Michael Haggerty mhag...@alum.mit.edu What is the projects stance on copyright lines? I do not think we have a strong one. I've seen files (most of them from the beginning) having some copyright lines, other files (often introduced way later) not having them, because we're git and have history, so we know who did it. I personally agree with that statement. Also, a copyright notice per file is often added when a new file is added, but that ends up giving false sense of ownership to everybody else down the line even after the file has been extensively modified. It's not like Michael solely owns all lines in this file in later versions. And even if people added their name at the top every time they make any change, their names tend to stay even when their contributions are later completely rewritten or removed. In a sense, my agreement with your statement is stronger than Yes, Git can tell us who did what anyway. What we can find in the history is the sole source of truth, and in-file copyright notice is misleading. You do not even have to have one in the Berne signatory nations anyway. The tests themselves look fine. Is there a reason you did not append the tests in 7509 ? Hmph. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 06/11] commit: add tests of commit races
On Sun, Feb 8, 2015 at 8:14 AM, Michael Haggerty mhag...@alum.mit.edu wrote: diff --git a/t/t7516-commit-races.sh b/t/t7516-commit-races.sh new file mode 100755 index 000..5efa351 --- /dev/null +++ b/t/t7516-commit-races.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# +# Copyright (c) 2014 Michael Haggerty mhag...@alum.mit.edu What is the projects stance on copyright lines? I've seen files (most of them from the beginning) having some copyright lines, other files (often introduced way later) not having them, because we're git and have history, so we know who did it. The tests themselves look fine. Is there a reason you did not append the tests in 7509 ? -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 06/11] commit: add tests of commit races
Committing involves the following steps: 1. Determine the current value of HEAD (if any). 2. Create the new commit object. 3. Update HEAD. Please note that step 2 can take arbitrarily long, because it might involve the user editing a commit message. If a second process sneaks in a commit during step 2, then the first commit process should fail. This is usually done correctly, because step 3 verifies that HEAD still points at the same commit that it pointed to during step 1. However, if there is a race when creating an *orphan* commit, then the test in step 3 is skipped. Add tests for proper handling of such races. One of the new tests fails. It will be fixed in a moment. Signed-off-by: Michael Haggerty mhag...@alum.mit.edu --- t/t7516-commit-races.sh | 38 ++ 1 file changed, 38 insertions(+) create mode 100755 t/t7516-commit-races.sh diff --git a/t/t7516-commit-races.sh b/t/t7516-commit-races.sh new file mode 100755 index 000..5efa351 --- /dev/null +++ b/t/t7516-commit-races.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# +# Copyright (c) 2014 Michael Haggerty mhag...@alum.mit.edu +# + +test_description='git commit races' +. ./test-lib.sh + +test_tick + +test_expect_success 'set up editor' ' + cat editor -\EOF + #!/bin/sh + git commit --allow-empty -m hare + echo tortoise $1 + EOF + chmod +x editor +' + +test_expect_failure 'race to create orphan commit' ' + test_must_fail env EDITOR=./editor git commit --allow-empty + git show -s --pretty=format:%s subject + grep -q hare subject + test -z $(git show -s --pretty=format:%P) +' + +test_expect_success 'race to create non-orphan commit' ' + git checkout --orphan branch + git commit --allow-empty -m base + git rev-parse HEAD base + test_must_fail env EDITOR=./editor git commit --allow-empty + git show -s --pretty=format:%s subject + grep -q hare subject + git rev-parse HEAD^ parent + test_cmp base parent +' + +test_done -- 2.1.4 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html