summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rebase -i: introduce --recreate-merges=[no-]rebase-cousinsjs/rebase-recreate-mergeJohannes Schindelin2018-02-237-3/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This one is a bit tricky to explain, so let's try with a diagram: C / \ A - B - E - F \ / D To illustrate what this new mode is all about, let's consider what happens upon `git rebase -i --recreate-merges B`, in particular to the commit `D`. So far, the new branch structure would be: --- C' -- / \ A - B ------ E' - F' \ / D' This is not really preserving the branch topology from before! The reason is that the commit `D` does not have `B` as ancestor, and therefore it gets rebased onto `B`. This is unintuitive behavior. Even worse, when recreating branch structure, most use cases would appear to want cousins *not* to be rebased onto the new base commit. For example, Git for Windows (the heaviest user of the Git garden shears, which served as the blueprint for --recreate-merges) frequently merges branches from `next` early, and these branches certainly do *not* want to be rebased. In the example above, the desired outcome would look like this: --- C' -- / \ A - B ------ E' - F' \ / -- D' -- Let's introduce the term "cousins" for such commits ("D" in the example), and let's not rebase them by default, introducing the new "rebase-cousins" mode for use cases where they should be rebased. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* pull: accept --rebase=recreate to recreate the branch topologyJohannes Schindelin2018-02-235-6/+25
| | | | | | | | | | | | Similar to the `preserve` mode simply passing the `--preserve-merges` option to the `rebase` command, the `recreate` mode simply passes the `--recreate-merges` option. This will allow users to conveniently rebase non-trivial commit topologies when pulling new commits, without flattening them. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: handle post-rewrite for merge commandsJohannes Schindelin2018-02-232-2/+30
| | | | | | | | | | | | | | | | | | In the previous patches, we implemented the basic functionality of the `git rebase -i --recreate-merges` command, in particular the `merge` command to create merge commits in the sequencer. The interactive rebase is a lot more these days, though, than a simple cherry-pick in a loop. For example, it calls the post-rewrite hook (if any) after rebasing with a mapping of the old->new commits. This patch implements the post-rewrite handling for the `merge` command we just introduced. The other commands that were added recently (`label` and `reset`) do not create new commits, therefore post-rewrite do not need to handle them. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: make refs generated by the `label` command worktree-localJohannes Schindelin2018-02-232-1/+16
| | | | | | | | | This allows for rebases to be run in parallel in separate worktrees (think: interrupted in the middle of one rebase, being asked to perform a different rebase, adding a separate worktree just for that job). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase: introduce the --recreate-merges optionJohannes Schindelin2018-02-235-2/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once upon a time, this here developer thought: wouldn't it be nice if, say, Git for Windows' patches on top of core Git could be represented as a thicket of branches, and be rebased on top of core Git in order to maintain a cherry-pick'able set of patch series? The original attempt to answer this was: git rebase --preserve-merges. However, that experiment was never intended as an interactive option, and it only piggy-backed on git rebase --interactive because that command's implementation looked already very, very familiar: it was designed by the same person who designed --preserve-merges: yours truly. Some time later, some other developer (I am looking at you, Andreas! ;-)) decided that it would be a good idea to allow --preserve-merges to be combined with --interactive (with caveats!) and the Git maintainer (well, the interim Git maintainer during Junio's absence, that is) agreed, and that is when the glamor of the --preserve-merges design started to fall apart rather quickly and unglamorously. The reason? In --preserve-merges mode, the parents of a merge commit (or for that matter, of *any* commit) were not stated explicitly, but were *implied* by the commit name passed to the `pick` command. This made it impossible, for example, to reorder commits. Not to mention to flatten the branch topology or, deity forbid, to split topic branches into two. Alas, these shortcomings also prevented that mode (whose original purpose was to serve Git for Windows' needs, with the additional hope that it may be useful to others, too) from serving Git for Windows' needs. Five years later, when it became really untenable to have one unwieldy, big hodge-podge patch series of partly related, partly unrelated patches in Git for Windows that was rebased onto core Git's tags from time to time (earning the undeserved wrath of the developer of the ill-fated git-remote-hg series that first obsoleted Git for Windows' competing approach, only to be abandoned without maintainer later) was really untenable, the "Git garden shears" were born [*1*/*2*]: a script, piggy-backing on top of the interactive rebase, that would first determine the branch topology of the patches to be rebased, create a pseudo todo list for further editing, transform the result into a real todo list (making heavy use of the `exec` command to "implement" the missing todo list commands) and finally recreate the patch series on top of the new base commit. That was in 2013. And it took about three weeks to come up with the design and implement it as an out-of-tree script. Needless to say, the implementation needed quite a few years to stabilize, all the while the design itself proved itself sound. With this patch, the goodness of the Git garden shears comes to `git rebase -i` itself. Passing the `--recreate-merges` option will generate a todo list that can be understood readily, and where it is obvious how to reorder commits. New branches can be introduced by inserting `label` commands and calling `merge <label>`. And once this mode will have become stable and universally accepted, we can deprecate the design mistake that was `--preserve-merges`. Link *1*: https://github.com/msysgit/msysgit/blob/master/share/msysGit/shears.sh Link *2*: https://github.com/git-for-windows/build-extra/blob/master/shears.sh Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* rebase-helper --make-script: introduce a flag to recreate mergesJohannes Schindelin2018-02-233-3/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sequencer just learned new commands intended to recreate branch structure (similar in spirit to --preserve-merges, but with a substantially less-broken design). Let's allow the rebase--helper to generate todo lists making use of these commands, triggered by the new --recreate-merges option. For a commit topology like this (where the HEAD points to C): - A - B - C \ / D the generated todo list would look like this: # branch D pick 0123 A label branch-point pick 1234 D label D reset branch-point pick 2345 B merge -C 3456 D # C To keep things simple, we first only implement support for merge commits with exactly two parents, leaving support for octopus merges to a later patch in this patch series. As a special, hard-coded label, all merge-recreating todo lists start with the command `label onto` so that we can later always refer to the revision onto which everything is rebased. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: fast-forward merge commits, if possibleJohannes Schindelin2018-02-231-1/+20
| | | | | | | | | | | | Just like with regular `pick` commands, if we are trying to recreate a merge commit, we now test whether the parents of said commit match HEAD and the commits to be merged, and fast-forward if possible. This is not only faster, but also avoids unnecessary proliferation of new objects. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: introduce the `merge` commandJohannes Schindelin2018-02-232-0/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is part of the effort to reimplement `--preserve-merges` with a substantially improved design, a design that has been developed in the Git for Windows project to maintain the dozens of Windows-specific patch series on top of upstream Git. The previous patch implemented the `label` and `reset` commands to label commits and to reset to labeled commits. This patch adds the `merge` command, with the following syntax: merge [-C <commit>] <rev> # <oneline> The <commit> parameter in this instance is the *original* merge commit, whose author and message will be used for the merge commit that is about to be created. The <rev> parameter refers to the (possibly rewritten) revision to merge. Let's see an example of a todo list: label onto # Branch abc reset onto pick deadbeef Hello, world! label abc reset onto pick cafecafe And now for something completely different merge -C baaabaaa abc # Merge the branch 'abc' into master To edit the merge commit's message (a "reword" for merges, if you will), use `-c` (lower-case) instead of `-C`; this convention was borrowed from `git commit` that also supports `-c` and `-C` with similar meanings. To create *new* merges, i.e. without copying the commit message from an existing commit, simply omit the `-C <commit>` parameter (which will open an editor for the merge message): merge abc This comes in handy when splitting a branch into two or more branches. Note: this patch only adds support for recursive merges, to keep things simple. Support for octopus merges will be added later in a separate patch series, support for merges using strategies other than the recursive merge is left for the future. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: introduce new commands to reset the revisionJohannes Schindelin2018-02-232-6/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the upcoming commits, we will teach the sequencer to recreate merges. This will be done in a very different way from the unfortunate design of `git rebase --preserve-merges` (which does not allow for reordering commits, or changing the branch topology). The main idea is to introduce new todo list commands, to support labeling the current revision with a given name, resetting the current revision to a previous state, and merging labeled revisions. This idea was developed in Git for Windows' Git garden shears (that are used to maintain the "thicket of branches" on top of upstream Git), and this patch is part of the effort to make it available to a wider audience, as well as to make the entire process more robust (by implementing it in a safe and portable language rather than a Unix shell script). This commit implements the commands to label, and to reset to, given revisions. The syntax is: label <name> reset <name> Internally, the `label <name>` command creates the ref `refs/rewritten/<name>`. This makes it possible to work with the labeled revisions interactively, or in a scripted fashion (e.g. via the todo list command `exec`). These temporary refs are removed upon sequencer_remove_state(), so that even a `git rebase --abort` cleans them up. We disallow '#' as label because that character will be used as separator in the upcoming `merge` command. Later in this patch series, we will mark the `refs/rewritten/` refs as worktree-local, to allow for interactive rebases to be run in parallel in worktrees linked to the same repository. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-rebase--interactive: clarify argumentsStefan Beller2018-02-121-7/+7
| | | | | | | | | | | | Up to now each command took a commit as its first argument and ignored the rest of the line (usually the subject of the commit) Now that we are about to introduce commands that take different arguments, clarify each command by giving the argument list. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: make rearrange_squash() a bit more obviousJohannes Schindelin2018-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | There are some commands that have to be skipped from rearranging by virtue of not handling any commits. However, the logic was not quite obvious: it skipped commands based on their position in the enum todo_command. Instead, let's make it explicit that we skip all commands that do not handle any commit. With one exception: the `drop` command, because it, well, drops the commit and is therefore not eligible to rearranging. Note: this is a bit academic at the moment because the only time we call `rearrange_squash()` is directly after generating the todo list, when we have nothing but `pick` commands anyway. However, the upcoming `merge` command *will* want to be handled by that function, and it *can* handle commits. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sequencer: avoid using errno clobbered by rollback_lock_file()Johannes Schindelin2018-02-121-5/+8
| | | | | | | | | As pointed out in a review of the `--recreate-merges` patch series, `rollback_lock_file()` clobbers errno. Therefore, we have to report the error message that uses errno before calling said function. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.16v2.16.0Junio C Hamano2018-01-172-3/+6
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-poJunio C Hamano2018-01-1612-20028/+22202
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | l10n for Git 2.16.0 round 2 * tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-po: (24 commits) l10n: de.po: translate 72 new messages l10n: de.po: improve messages when a branch starts to track another ref l10n: bg.po: Updated Bulgarian translation (3288t) l10n: TEAMS: add zh_CN team members l10n: zh_CN: for git v2.16.0 l10n round 2 l10n: sv.po: Update Swedish translation (3288t0f0u) l10n: ru.po: update Russian translation l10n: TEAMS: Add ko team members l10n: ko.po: Update Korean translation l10n: fr.po 2.16 round 2 l10n: es.po: Spanish translation 2.16.0 round 2 l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2 l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed) l10n: es.po: Update Spanish Translation v2.16.0 l10n: fr.po v2.16.0 round 1 l10n: bg.po: Updated Bulgarian translation (3284t) l10n: sv.po: Update Swedish translation (3284t0f0u) l10n: fr.po: "worktree list" mistranslated as prune l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed) l10n: fixes to German translation ...
| * l10n: de.po: translate 72 new messagesRalf Thielow2018-01-151-1934/+2172
| | | | | | | | | | | | | | | | | | Translate 72 new messages came from git.pot update in 18a907225 (l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)) and 005c62fe4 (l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
| * l10n: de.po: improve messages when a branch starts to track another refRalf Thielow2018-01-151-8/+8
| | | | | | | | Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
| * l10n: bg.po: Updated Bulgarian translation (3288t)Alexander Shopov2018-01-111-181/+203
| | | | | | | | Signed-off-by: Alexander Shopov <ash@kambanaria.org>
| * l10n: TEAMS: add zh_CN team membersJiang Xin2018-01-101-0/+1
| | | | | | | | | | | | Add Fangyi Zhou to zh_CN l10n team members. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
| * l10n: zh_CN: for git v2.16.0 l10n round 2Jiang Xin2018-01-101-1920/+2144
| | | | | | | | | | | | | | | | Translate 72 messages (3288t0f0u) for git v2.16.0-rc1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: 依云 <lilydjwg@gmail.com> Reviewed-by: Fangyi Zhou <fangyi.zhou@yuriko.moe>
| * Merge branch 'master' of git://github.com/nafmo/git-l10n-svJiang Xin2018-01-101-181/+197
| |\ | | | | | | | | | | | | * 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (3288t0f0u)
| | * l10n: sv.po: Update Swedish translation (3288t0f0u)Peter Krefting2018-01-091-181/+197
| | | | | | | | | | | | Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
| * | Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ruJiang Xin2018-01-101-1918/+2092
| |\ \ | | | | | | | | | | | | | | | | * 'russian-l10n' of https://github.com/DJm00n/git-po-ru: l10n: ru.po: update Russian translation
| | * | l10n: ru.po: update Russian translationDimitriy Ryazantcev2018-01-091-1918/+2092
| | |/ | | | | | | | | | Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
| * | l10n: TEAMS: Add ko team membersChangwoo Ryu2018-01-091-0/+2
| |/ | | | | | | | | | | Add Gwan-gyeong Mun and Sihyeon Jang. Signed-off-by: Changwoo Ryu <cwryu@debian.org>
| * Merge branch 'ko/merge-l10n' of https://github.com/git-l10n-ko/git-l10n-koJiang Xin2018-01-092-1944/+2200
| |\ | | | | | | | | | | | | * 'ko/merge-l10n' of https://github.com/git-l10n-ko/git-l10n-ko: l10n: ko.po: Update Korean translation
| | * l10n: ko.po: Update Korean translationChangwoo Ryu2018-01-082-1944/+2200
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Changwoo Ryu <cwryu@debian.org> Signed-off-by: Sihyeon Jang <uneedsihyeon@gmail.com> Signed-off-by: Gwan-gyeong Mun <elongbug@gmail.com> Reviewed-by: Changwoo Ryu <cwryu@debian.org>
| * | Merge branch '2.16' of https://github.com/ChrisADR/git-poJiang Xin2018-01-081-181/+197
| |\ \ | | | | | | | | | | | | | | | | * '2.16' of https://github.com/ChrisADR/git-po: l10n: es.po: Spanish translation 2.16.0 round 2
| | * | l10n: es.po: Spanish translation 2.16.0 round 2Christopher Díaz Riveros2018-01-071-181/+197
| | |/ | | | | | | | | | Signed-off-by: Christopher Díaz Riveros <chrisadr@gentoo.org>
| * | Merge branch 'fr_2.16-rc1' of git://github.com/jnavila/gitJiang Xin2018-01-081-192/+225
| |\ \ | | | | | | | | | | | | | | | | * 'fr_2.16-rc1' of git://github.com/jnavila/git: l10n: fr.po 2.16 round 2
| | * | l10n: fr.po 2.16 round 2Jean-Noel Avila2018-01-071-192/+225
| | |/ | | | | | | | | | Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
| * | l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2Tran Ngoc Quan2018-01-071-1929/+2156
| |/ | | | | | | Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
| * l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)Jiang Xin2018-01-071-173/+192
| | | | | | | | | | | | Generate po/git.pot from v2.16.0-rc1 for git v2.16.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
| * Merge branch 'master' of git://github.com/git-l10n/git-poJiang Xin2018-01-078-10292/+11238
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://github.com/git-l10n/git-po: l10n: es.po: Update Spanish Translation v2.16.0 l10n: fr.po v2.16.0 round 1 l10n: bg.po: Updated Bulgarian translation (3284t) l10n: sv.po: Update Swedish translation (3284t0f0u) l10n: fr.po: "worktree list" mistranslated as prune l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed) l10n: fixes to German translation l10n: Update Spanish translation l10n: zh_CN translate parameter name l10n: zh_CN Fix typo l10n: Fixes to Catalan translation
| | * Merge branch '2.16' of https://github.com/ChrisADR/git-poJiang Xin2018-01-061-1920/+2129
| | |\ | | | | | | | | | | | | | | | | * '2.16' of https://github.com/ChrisADR/git-po: l10n: es.po: Update Spanish Translation v2.16.0
| | | * l10n: es.po: Update Spanish Translation v2.16.0Christopher Díaz Riveros2018-01-041-1920/+2129
| | | | | | | | | | | | | | | | Signed-off-by: Christopher Díaz Riveros <chrisadr@gentoo.org>
| | * | Merge branch 'fr_2.16' of git://github.com/jnavila/gitJiang Xin2018-01-061-1911/+2113
| | |\ \ | | | |/ | | |/| | | | | | | | | | | | | * 'fr_2.16' of git://github.com/jnavila/git: l10n: fr.po v2.16.0 round 1 l10n: fr.po: "worktree list" mistranslated as prune
| | | * l10n: fr.po v2.16.0 round 1Jean-Noel Avila2018-01-021-1910/+2112
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
| | | * l10n: fr.po: "worktree list" mistranslated as pruneLouis Bettens2017-12-311-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Louis Bettens <louis@bettens.info>
| | * | Merge branch 'master' of git://github.com/alshopov/git-poJiang Xin2018-01-021-1934/+2106
| | |\ \ | | | | | | | | | | | | | | | | | | | | * 'master' of git://github.com/alshopov/git-po: l10n: bg.po: Updated Bulgarian translation (3284t)
| | | * | l10n: bg.po: Updated Bulgarian translation (3284t)Alexander Shopov2018-01-011-1934/+2106
| | | |/ | | | | | | | | | | | | Signed-off-by: Alexander Shopov <ash@kambanaria.org>
| | * | l10n: sv.po: Update Swedish translation (3284t0f0u)Peter Krefting2018-01-011-1910/+2118
| | |/ | | | | | | | | | | | | | | | Also corrected spelling. Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
| | * Merge branch 'maint' of git://github.com/git-l10n/git-poJiang Xin2017-12-314-745/+746
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'maint' of git://github.com/git-l10n/git-po: l10n: fixes to German translation l10n: Update Spanish translation l10n: zh_CN translate parameter name l10n: zh_CN Fix typo l10n: Fixes to Catalan translation
| | | * l10n: fixes to German translationRobert Abel2017-12-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Der-, die- and dasselbe and their declensions are spelt as one word in German. Signed-off-by: Robert Abel <rabel@robertabel.eu> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
| | | * Merge branch '2.15.1' of https://github.com/ChrisADR/git-po into maintJiang Xin2017-12-051-531/+534
| | | |\ | | | | | | | | | | | | | | | | | | | | * '2.15.1' of https://github.com/ChrisADR/git-po: l10n: Update Spanish translation
| | | | * l10n: Update Spanish translationChristopher Díaz Riveros2017-12-041-531/+534
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Christopher Díaz Riveros <chrisadr@gentoo.org>
| | | * | l10n: zh_CN translate parameter nameFangyi Zhou2017-12-031-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate parameters such as: * <new-branch-name> in advice.c:126, * <command>, <path>, <revision> in setup.c:171, setup.c:184, setup.c:252, * <base-commit-id> in builtin/log.c:1288, * <conflicted_files> in git-rebase.sh:58, and more... Signed-off-by: Fangyi Zhou <fangyi.zhou@yuriko.moe> Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
| | | * | l10n: zh_CN Fix typoZhou Fangyi2017-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | apply.c:125 say -> way Signed-off-by: Fangyi Zhou <fangyi.zhou@yuriko.moe>
| | | * | l10n: Fixes to Catalan translationJordi Mas2017-11-041-193/+191
| | | |/ | | | | | | | | | | | | Signed-off-by: Jordi Mas <jmas@softcatala.org>
| | * | l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)Jiang Xin2017-12-311-1885/+2039
| | | | | | | | | | | | | | | | | | | | | | | | Generate po/git.pot from v2.16.0-rc0 for git v2.16.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
* | | | RelNotes: minor typofixSZEDER Gábor2018-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>