README.md
1# git-squash-merge tool
2
3`git-squash-merge` is a bash script to help squash merge a given branch into the current branch. This tool is helpful for synchronizing git repositories which work with `gerrit`.
4
5This command squash merges all commits from a given branch into the current branch. By default the changes are committed with a commit message containing the list of all squashed commits.
6
7## Syntax
8
9```
10git-squash-merge [--no-list] [--no-commit] <branch> [<commit msg>]"
11```
12
13## Parameters
14
15- `<branch>` specifies the name of branch to merge into current branch.
16- `<commit msg>` is an optional parameter specifying text to add to the commit message.
17
18## Options
19
20- `--no-list` when used the commit message will not include the list of squashed commits.
21- `--no-commit` when used, the tool squashes and stages the changes but does not commit"
22
23## Example of Use
24
25```
26~/sw/openthread $ ./tools/gerrit/git-squash-merge.sh github/master "OpenThread GitHub sync"
27commit 977287e73a3fcae297306b1e68da50d4bbee0d14 (HEAD)
28Author: Abtin Keshavarzian <abtink@google.com>
29Date: Tue Aug 14 14:53:33 2018 -0700
30
31 Squash merge 'github/master' into 'HEAD'
32
33 OpenThread GitHub sync
34
35 3acd900bd [message] update comment/documentation (#2903)
36 2aa335144 [mle] fix logging at NOTE level (#2933)
37 a9932027f [toranj] test case for adding IPv6 addresses with same prefix on multiple nodes (#2915)
38 c097cd2d3 [mle] remove unused LeaderDataTlv from HandleChildUpdateRequest (#2936)
39 7be61df6e [message-info] remove unnecessary memset initialization (#2937)
40 bcfa7edff [ip6] ensure slaac addresses are added back after reset (#2938)
41 412f9740b [tlv] remove unnecessary user-specified constructor (#2940)
42 ba4b238a0 [link-quality] explicitly clear link quality for new child/router (#2941)
43 601b99b39 [android] use spi instead of uart (#2942)
44 d67c4e2f6 [ncp] include prop set support for THREAD_CHILD_TIMEOUT in MTD build (#2943)
45 44e583a55 [toranj] add new method to finalize all nodes at end of each test (#2930)
46 c551e3035 [posix] handle signals SIGHUP or SIGTERM and exit (#2930)
47 1ca81fbb1 [ncp] add support for child supervision in spinel/NcpBase (#2939)
48 f0bb0982e [examples] change example platform namespacing (#2927)
49 f089fc8e2 [gcc8] resolve compiler errors (#2944)
50 a9d32b7be [ncp] add support for Commissioner APIs in spinel and NCP (#2911)
51 8efb3c50e [meshcop] implement commissioning UDP proxy (#2926)
52 492f0c3b1 [harness-automation] update read method for TopologyConfig.txt format change (#2950)
53 e181f1f98 [posix-app] fix diag issues of radio only mode (#2948)
54 90ee0a4d6 [ncp] add joiner spinel support (#2877)
55 9d585edc4 [types] move types into specific headers (#2946)
56 101e24337 [nrf52840] fix default parameters of FEM (#2945)
57 c8d06c402 [efr32] fix em_system.h include (#2956)
58 d2e59fd64 [posix-app] fix getting tx power (#2957)
59 0c07c53ce [platform] attach timestamp in promiscuous mode (#2954)
60
61 Change-Id: I2fd7b537fc1e0251082f091cb897b9ac25e105dd
62
63Successfully squash merged branch 'github/master' into 'HEAD'
64```
65