mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-09 16:32:39 +01:00
No description
182a146280
Summary: If contributors use "history.immutable" by default (for example, in user/global config) and then try to contribute to Phabricator, they might land in a way that creates merge commits, which we'd prefer to avoid. To make this a bit harder to do unintentionally, set "history.immutable" to "false" explicitly in `.arcconfig`. This will override any user or system setting and keep `land` in squash mode in this project. This might also be a problem in general, and maybe in the long term we need something like one of these warnings: > (when arc landing) You haven't landed changes to this project before, are you sure you want to create a merge commit / are you sure you want to squash? ...or: > (when doing anything) This project doesn't have a history.immutable setting; you should probably set one so user settings don't win out. ...or just not let this be set at the user/system level, although that's annoying in some cases. Also maybe this: > (when arc landing) You're about to create a merge commit, but the last Differential change in history squashed instead. Merge anyway? However, we haven't seen this as a widespread issue outside of this project yet (and even in this project I think it has only happened 2-3 times), so just put up a guard rail in our own configuration for now. Test Plan: - Ran `arc set-config history.immutable true` to set the flag in my user settings. - Ran `arc get-config` to verify that the setting overrode system/user settings: ``` epriestley@orbital ~/dev/phabricator $ arc get-config history.immutable --verbose history.immutable If true, arc will never change repository history (e.g., through amending or rebasing). Defaults to true in Mercurial and false in Git. This setting has no effect in Subversion. Example Value: false Current Value: false Current Source: project local Value: - project Value: false user Value: true system Value: - default Value: - ``` Reviewers: chad, fooishbar Reviewed By: fooishbar Differential Revision: https://secure.phabricator.com/D16364 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support | ||
webroot | ||
.arcconfig | ||
.arclint | ||
.arcunit | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
README.md |
Phabricator is a collection of web applications which help software companies build better software.
Phabricator includes applications for:
- reviewing and auditing source code;
- hosting and browsing repositories;
- tracking bugs;
- managing projects;
- conversing with team members;
- assembling a party to venture forth;
- writing stuff down and reading it later;
- hiding stuff from coworkers; and
- also some other things.
You can learn more about the project (and find links to documentation and resources) at Phabricator.org
Phabricator is developed and maintained by Phacility.
SUPPORT RESOURCES
For resources on filing bugs, requesting features, reporting security issues, and getting other kinds of support, see Support Resources.
NO PULL REQUESTS!
We do not accept pull requests through GitHub. If you would like to contribute code, please read our Contributor's Guide.
LICENSE
Phabricator is released under the Apache 2.0 license except as otherwise noted.