Prepare for 2.9.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Sep 8, 2016 at 21:37 UTC
0202c411edc25940cc381bf317badcdf67670be4
2 files changed
+84
-1
Documentation/RelNotes/2.9.4.txt
new
+83
@@ -0,0 +1,83 @@
1
+Git v2.9.4 Release Notes
2
+========================
3
+
4
+Fixes since v2.9.3
5
+------------------
6
+
7
+ * There are certain house-keeping tasks that need to be performed at
8
+ the very beginning of any Git program, and programs that are not
9
+ built-in commands had to do them exactly the same way as "git"
10
+ potty does. It was easy to make mistakes in one-off standalone
11
+ programs (like test helpers). A common "main()" function that
12
+ calls cmd_main() of individual program has been introduced to
13
+ make it harder to make mistakes.
14
+
15
+ * "git merge" with renormalization did not work well with
16
+ merge-recursive, due to "safer crlf" conversion kicking in when it
17
+ shouldn't.
18
+
19
+ * The reflog output format is documented better, and a new format
20
+ --date=unix to report the seconds-since-epoch (without timezone)
21
+ has been added.
22
+
23
+ * "git push --force-with-lease" already had enough logic to allow
24
+ ensuring that such a push results in creation of a ref (i.e. the
25
+ receiving end did not have another push from sideways that would be
26
+ discarded by our force-pushing), but didn't expose this possibility
27
+ to the users. It does so now.
28
+
29
+ * "import-tars" fast-import script (in contrib/) used to ignore a
30
+ hardlink target and replaced it with an empty file, which has been
31
+ corrected to record the same blob as the other file the hardlink is
32
+ shared with.
33
+
34
+ * "git mv dir non-existing-dir/" did not work in some environments
35
+ the same way as existing mainstream platforms. The code now moves
36
+ "dir" to "non-existing-dir", without relying on rename("A", "B/")
37
+ that strips the trailing slash of '/'.
38
+
39
+ * The "t/" hierarchy is prone to get an unusual pathname; "make test"
40
+ has been taught to make sure they do not contain paths that cannot
41
+ be checked out on Windows (and the mechanism can be reusable to
42
+ catch pathnames that are not portable to other platforms as need
43
+ arises).
44
+
45
+ * When "git merge-recursive" works on history with many criss-cross
46
+ merges in "verbose" mode, the names the command assigns to the
47
+ virtual merge bases could have overwritten each other by unintended
48
+ reuse of the same piece of memory.
49
+
50
+ * "git checkout --detach <branch>" used to give the same advice
51
+ message as that is issued when "git checkout <tag>" (or anything
52
+ that is not a branch name) is given, but asking with "--detach" is
53
+ an explicit enough sign that the user knows what is going on. The
54
+ advice message has been squelched in this case.
55
+
56
+ * "git difftool" by default ignores the error exit from the backend
57
+ commands it spawns, because often they signal that they found
58
+ differences by exiting with a non-zero status code just like "diff"
59
+ does; the exit status codes 126 and above however are special in
60
+ that they are used to signal that the command is not executable,
61
+ does not exist, or killed by a signal. "git difftool" has been
62
+ taught to notice these exit status codes.
63
+
64
+ * On Windows, help.browser configuration variable used to be ignored,
65
+ which has been corrected.
66
+
67
+ * The "git -c var[=val] cmd" facility to append a configuration
68
+ variable definition at the end of the search order was described in
69
+ git(1) manual page, but not in git-config(1), which was more likely
70
+ place for people to look for when they ask "can I make a one-shot
71
+ override, and if so how?"
72
+
73
+ * The tempfile (hence its user lockfile) API lets the caller to open
74
+ a file descriptor to a temporary file, write into it and then
75
+ finalize it by first closing the filehandle and then either
76
+ removing or renaming the temporary file. When the process spawns a
77
+ subprocess after obtaining the file descriptor, and if the
78
+ subprocess has not exited when the attempt to remove or rename is
79
+ made, the last step fails on Windows, because the subprocess has
80
+ the file descriptor still open. Open tempfile with O_CLOEXEC flag
81
+ to avoid this (on Windows, this is mapped to O_NOINHERIT).
82
+
83
+Also contains minor documentation updates and code clean-ups.
RelNotes
+1
-1
@@ -1 +1 @@
1
-Documentation/RelNotes/2.9.3.txt
\ No newline at end of file
1
+Documentation/RelNotes/2.9.4.txt
\ No newline at end of file