gcc/contrib
Richard Earnshaw 24b178184f contrib: New remotes structure for vendor and personal refs
The initial structure for vendor and personal branches makes use of
the default remote (normally origin) for the upstream
repository).  Unfortunately, this causes some confusion, especially for
personal branches because a push will not push to the correct upstream
location.  This can be 'fixed' by adding a push refspec for the remote,
but that has the unfortunate consequence of breaking the push.default
behaviour for git push, and it becomes too easy to accidentally commit
something unintended to the main parts of the repository.

To work around this, this patch changes the configuration to use
separate 'remotes' for these additional refs, with one remote for the
personal space and another remote for each vendor's space.  The
personal space is called after the user's preferred branch-space
prefix (default 'me'), the vendor spaces are called
vendors/<vendor-name>.

As far as possible, I've made the script automatically restructure any
existing fetch or push lines that earlier versions of the scripts may
have created - the gcc-git-customization.sh script will convert all
vendor refs that it can find, so it is not necessary to re-add any
vendors you've already added.

You might, however, want to run
  git remote prune <origin>
after running to clean up any stale upstream-refs that might still be
in your local repo, and then
  git fetch vendors/<vendor>
or
  git fetch <me>
to re-populate the remotes/ structures.

Also, for any branch you already have that tracks a personal or vendor
branch upstream, you might need to run
  git config branch.<name>.remote <new-remote>

so that merges and pushes go to the right place (I haven't attempted
to automate this last part).

For vendors, the new structure means that

  git checkout -b <vendor>/<branch> remotes/vendors/<vendor>/<branch>

will correctly set up a remote tracking branch.

Please be aware that if you have multiple personal branches set up, then

  git push <me>

will still consider all of them for pushing.  If you only want to push
one branch, then either write
  git push <me> HEAD
or
  git push <me> <me>/branch
as appropriate.

And don't forget '-n' (--dry-run) to see what would be done if this
were not a dry run.

Finally, now that the vendors spaces are isolated from each other and
from the other spaces, I've added an option "--enable-push" to
git-fetch-vendor.sh.  If passed, then a "push" spec will be added for
that vendor to enable pushing to the upstream.  If you re-run the
script for the same vendor without the option, the push spec will be
removed.

	* gcc-git-customization.sh: Check that user-supplied remote
	name exists before continuting.  Use a separate remotes for the
	personal commit area.  Convert existing personal and vendor
	fetch rules to new layout.
	* git-fetch-vendor.sh: New vendor layout.  Add --enable-push
	option.
2020-01-20 10:37:29 +00:00
..
header-tools Remove Cell Broadband Engine SPU targets 2019-09-03 15:08:28 +00:00
reghunt Remove svn:executable property from a couple of text files 2019-01-12 01:20:04 +01:00
regression
testsuite-management
unicode Byte vs column awareness for diagnostic-show-locus.c (PR 49973) 2019-12-09 20:03:47 +00:00
vim-gcc-dev contrib/vimrc: override formatting options for more files 2019-09-02 15:30:02 +03:00
analyze_brprob.py Fix usage of analyze_brprob.py script. 2018-01-19 12:03:24 +00:00
analyze_brprob_spec.py Compare predictor values with these defined in predict.def. 2017-05-30 07:16:31 +00:00
bench-stringop Add new micro-benchmark for string operations. 2019-06-19 07:24:02 +00:00
ChangeLog contrib: New remotes structure for vendor and personal refs 2020-01-20 10:37:29 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
check-internal-format-escaping.py * check-internal-format-escaping.py: New version using polib. 2019-04-30 10:14:40 -06:00
check-params-in-docs.py Ignore a param in check-params-in-docs.py 2019-03-06 10:00:37 +00:00
check_GNU_style.py check_GNU_style.py: Read stdin if file argument is '-' 2017-05-29 07:31:02 +00:00
check_GNU_style.sh [check_GNU_style.sh] More aggressively ignore dg-xxx directives 2016-10-24 11:23:36 +00:00
check_GNU_style_lib.py Detect mixed usage of spaces and tabs. 2018-11-19 08:08:28 +00:00
check_makefile_deps.sh
check_warning_flags.sh
clang-format Tweak clang-format configuration. 2019-09-18 13:32:25 +00:00
compare-all-tests Remove Cell Broadband Engine SPU targets 2019-09-03 15:08:28 +00:00
compare-debug
compare-lto re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk) 2018-05-08 08:50:33 +00:00
compare_tests [contrib] compare_tests: Print number of tests 2018-07-12 20:18:41 +02:00
compare_two_ftime_report_sets
compareSumTests3
config-list.mk MSP430: Add new msp430-elfbare target 2019-12-16 11:02:10 +00:00
dg-cmp-results.sh dg-cmp-results: display NA->FAIL & NA->UNRESOLVED by default 2018-10-25 10:35:21 +00:00
dg-extract-results.py contrib: Add KPASS support to dg-extract-results.{sh,py} 2019-10-21 13:41:29 +01:00
dg-extract-results.sh contrib: Add KPASS support to dg-extract-results.{sh,py} 2019-10-21 13:41:29 +01:00
dglib.pm
download_prerequisites download_prerequisites: Use http instead of ftp for downloading. 2019-11-13 19:48:52 +02:00
filter-clang-warnings.py Transform filter-rtags-warnings to filter-clang-warnings. 2019-06-25 12:30:19 +00:00
filter_gcc_for_doxygen Doxygen: add default location for filters and output folder. 2017-06-28 07:52:46 +00:00
filter_knr2ansi.pl
filter_params.py Doxygen: transform ENUM_BITFIELD and comments starting with '/**'. 2017-05-31 14:08:36 +00:00
gcc-git-customization.sh contrib: New remotes structure for vendor and personal refs 2020-01-20 10:37:29 +00:00
gcc.doxy Doxygen: add default location for filters and output folder. 2017-06-28 07:52:46 +00:00
gcc_build
gcc_update contrib/gcc_update: Insert "tformat:" for git log --pretty=tformat:%p:%t:%H 2020-01-17 08:43:31 +01:00
gen_autofdo_event.py Fix comment in contrib/gen_autofdo_event.py 2017-04-26 08:53:31 +00:00
gennews * gennews (files): Add files for GCC 9. 2019-05-03 09:40:10 +02:00
git-fetch-vendor.sh contrib: New remotes structure for vendor and personal refs 2020-01-20 10:37:29 +00:00
gthr_supp_vxw_5x.c
index-prop
jit-coverage-report.py
maintainers-verify.sh [contrib] Add contrib/maintainers-verify.sh 2018-07-13 09:33:40 +00:00
make-obstacks-texi.pl
make_sunver.pl
mark_spam.py mark_spam.py: Mark as spam all comments done by a creator 2016-08-17 10:30:54 +00:00
mklog Make mklog more robust. 2019-11-08 08:39:17 +00:00
mklog.pl Renamed original mklog to mklog.pl. 2017-08-02 20:58:23 +00:00
paranoia.cc
patch_tester.sh patch_tester.sh (TESTLOGS): Remove $TARGET/libjava/testsuite/libjava.sum. 2017-01-23 07:24:15 +00:00
prepare_patch.sh
prerequisites.md5 Update checksums for isl-0.18.tar.bz2 2017-09-18 11:25:13 +00:00
prerequisites.sha512 Update checksums for isl-0.18.tar.bz2 2017-09-18 11:25:13 +00:00
repro_fail
test_installed
test_recheck
test_summary test_summary: Do not escape "=". 2019-08-13 17:17:49 +02:00
texi2pod.pl Fix @multitable handling in texi2pod.pl 2019-12-07 09:57:04 +00:00
uninclude * uninclude: Fix third argument to gensub. 2016-01-19 22:00:17 +00:00
unused_functions.py contrib: unused_functions.py: Handle archives 2018-10-05 00:28:18 +02:00
update-copyright.py update-copyright.py: Add Mentor Graphics Corporation and Yoshinori Sato as external authors. 2020-01-01 12:26:53 +01:00
vimrc contrib/vimrc: override formatting options for more files 2019-09-02 15:30:02 +03:00
warn_summary Respect TMPDIR in contrib scripts. 2018-02-19 08:03:17 +00:00