New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
submodule: absorb git dir instead of dying on deinit #1078
submodule: absorb git dir instead of dying on deinit #1078
Conversation
Welcome to GitGitGadgetHi @mugdhapattnaik, and welcome to GitGitGadget, the GitHub App to send patch series to the Git mailing list from GitHub Pull Requests. Please make sure that your Pull Request has a good description, as it will be used as cover letter. Also, it is a good idea to review the commit messages one last time, as the Git project expects them in a quite specific form:
It is in general a good idea to await the automated test ("Checks") in this Pull Request before contributing the patches, e.g. to avoid trivial issues such as unportable code. Contributing the patchesBefore you can contribute the patches, your GitHub username needs to be added to the list of permitted users. Any already-permitted user can do that, by adding a comment to your PR of the form Both the person who commented An alternative is the channel
Once on the list of permitted usernames, you can contribute the patches to the Git mailing list by adding a PR comment If you want to see what email(s) would be sent for a After you submit, GitGitGadget will respond with another comment that contains the link to the cover letter mail in the Git mailing list archive. Please make sure to monitor the discussion in that thread and to address comments and suggestions (while the comments and suggestions will be mirrored into the PR by GitGitGadget, you will still want to reply via mail). If you do not want to subscribe to the Git mailing list just to be able to respond to a mail, you can download the mbox from the Git mailing list archive (click the curl -g --user "<EMailAddress>:<Password>" \
--url "imaps://imap.gmail.com/INBOX" -T /path/to/raw.txt To iterate on your change, i.e. send a revised patch or patch series, you will first want to (force-)push to the same branch. You probably also want to modify your Pull Request description (or title). It is a good idea to summarize the revision by adding something like this to the cover letter (read: by editing the first comment on the PR, i.e. the PR description):
To send a new iteration, just add another PR comment with the contents: Need help?New contributors who want advice are encouraged to join git-mentoring@googlegroups.com, where volunteers who regularly contribute to Git are willing to answer newbie questions, give advice, or otherwise provide mentoring to interested contributors. You must join in order to post or view messages, but anyone can join. You may also be able to find help in real time in the developer IRC channel, |
/allow |
Error: User Ikke is not permitted to use GitGitGadget |
@dscho Apparently I'm not allowed yet? |
/allow Ikke |
User Ikke is now allowed to use GitGitGadget. WARNING: Ikke has no public email address set on GitHub |
I think |
/allow |
User mugdhapattnaik is now allowed to use GitGitGadget. WARNING: mugdhapattnaik has no public email address set on GitHub |
/preview |
Error: Could not determine public email of mugdhapattnaik |
/preview |
Preview email sent as pull.1078.git.git.1630002587066.gitgitgadget@gmail.com |
/submit |
Submitted as pull.1078.git.git.1630002794889.gitgitgadget@gmail.com To fetch this version into
To fetch this version to local tag
|
5881453
to
37c9b59
Compare
/preview |
Preview email sent as pull.1078.v2.git.git.1630043734279.gitgitgadget@gmail.com |
/submit |
Submitted as pull.1078.v2.git.git.1630044219145.gitgitgadget@gmail.com To fetch this version into
To fetch this version to local tag
|
On the Git mailing list, Bagas Sanjaya wrote (reply to this):
|
User |
On the Git mailing list, Mugdha Pattnaik wrote (reply to this):
|
On the Git mailing list, Atharva Raykar wrote (reply to this):
|
User |
On the Git mailing list, Junio C Hamano wrote (reply to this):
|
37c9b59
to
1ac65b2
Compare
/submit |
Submitted as pull.1078.v3.git.git.1630087821429.gitgitgadget@gmail.com To fetch this version into
To fetch this version to local tag
|
There was a status update in the "Cooking" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. Will merge to 'next'? |
This patch series was integrated into seen via 89fcda5. |
This patch series was integrated into seen via 9d5336d. |
This patch series was integrated into seen via 68d71ee. |
This patch series was integrated into seen via f752105. |
This patch series was integrated into seen via e0902d6. |
This patch series was integrated into seen via 2cca704. |
This patch series was integrated into seen via 6bde046. |
There was a status update in the "Cooking" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. Will merge to 'next'? |
This patch series was integrated into seen via 1cf4c48. |
This patch series was integrated into seen via 4d508ce. |
There was a status update in the "Cooking" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. Will merge to 'next'? |
This patch series was integrated into seen via ee64f44. |
This patch series was integrated into seen via 7f699a7. |
This patch series was integrated into seen via cd56e61. |
This patch series was integrated into seen via b43bad2. |
This patch series was integrated into next via afc462a. |
There was a status update in the "Cooking" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. Will merge to 'master'. source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com> |
This patch series was integrated into seen via e661234. |
This patch series was integrated into seen via c3c1a6f. |
There was a status update in the "Cooking" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. Will merge to 'master'. source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com> |
This patch series was integrated into seen via 6e8800a. |
There was a status update in the "Graduated to 'master'" section about the branch "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com> |
This patch series was integrated into seen via 670703e. |
This patch series was integrated into next via 670703e. |
This patch series was integrated into master via 670703e. |
Closed via 670703e. |
Changes since v6:
forced.
Changes since v5:
Changes since v4:
Changes since v3:
Changes since v2:
"directory" or "git dir"
Changes since v1:
condition checking for --quiet flag
Currently, running 'git submodule deinit' on repos where the
submodule's '.git' is a directory, aborts with a message that is not
exactly user friendly.
Let's change this to instead warn the user that the .git/ directory
has been absorbed into the superproject.
The rest of the deinit function can operate as it already does with
new-style submodules.
In one test, we used to require "git submodule deinit" to fail even
with the "--force" option when the submodule's .git/ directory is not
absorbed. Adjust it to expect the operation to pass.
I have changed the 'cp -R ../.git/modules/example .git' to
'mv ../.git/modules/example .git' since, at the time of testing, the test
would fail - deinit now would be moving the '.git' directory into the
superproject's '.git/modules/' directory, and since this same directory
already existed before, it was causing errors. So, before running deinit,
instead of copying the '.git' directory into the submodule, if we
move it there instead, this functionality can be appropriately tested.
Thank you,
Mugdha
cc: Bagas Sanjaya bagasdotme@gmail.com
cc: Atharva Raykar raykar.ath@gmail.com
cc: Junio C Hamano gitster@pobox.com
cc: Christian Couder christian.couder@gmail.com
cc: Ævar Arnfjörð Bjarmason avarab@gmail.com