phabricator issue with git submodules.

Hi, just fixing few warning issues on Solaris/x86. The changes spread over main ghc tree and libraries/primitive and libraries/unix. I already commited changes and pushed to my github.com's forks of libraries/primitive and libraries/unix. The git status looks then: $ git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits) Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: libraries/primitive (new commits) modified: libraries/unix (new commits) no changes added to commit (use "git add" and/or "git commit -a") and yet phabricator still complains about it: $ arc diff You have unstaged changes in this working copy. Working copy: /export/home/karel/vcs/ghc-src/validate-fixes/ Unstaged changes in working copy: libraries/primitive libraries/unix Do you want to amend these files to the commit? [y/N] Usage Exception: Stage and commit (or revert) them before proceeding. I pressed enter in question above. Is that a known issue or am I doing something wrong here? Thanks! Karel

Hello Karel, When your submodules get updated, you need to add them to your commit (since the parent repository maintains pointers to the submodules). Then they will no longer show up as dirty and you can submit the Phabricator patch. Edward Excerpts from Karel Gardas's message of 2014-07-25 22:48:21 +0100:
Hi,
just fixing few warning issues on Solaris/x86. The changes spread over main ghc tree and libraries/primitive and libraries/unix. I already commited changes and pushed to my github.com's forks of libraries/primitive and libraries/unix. The git status looks then:
$ git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits)
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory)
modified: libraries/primitive (new commits) modified: libraries/unix (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
and yet phabricator still complains about it:
$ arc diff You have unstaged changes in this working copy.
Working copy: /export/home/karel/vcs/ghc-src/validate-fixes/
Unstaged changes in working copy: libraries/primitive libraries/unix
Do you want to amend these files to the commit? [y/N]
Usage Exception: Stage and commit (or revert) them before proceeding.
I pressed enter in question above.
Is that a known issue or am I doing something wrong here?
Thanks! Karel

Hello Edward, I've done that, see https://phabricator.haskell.org/D96 -- but now I'm curious but since this is done in this way, basically speaking library/unix + libraries/primitive now points to commits done in my forks of those libs on github.com waiting for approval since I already pushed appropriate pull requests. Now this also means that D96 is probably not includable in GHC HEAD since it points to currently non-existing patches (in public libraries/unix + primitive). Am I right that this works in this way? Thanks, Karel On 07/26/14 09:39 PM, Edward Z. Yang wrote:
Hello Karel,
When your submodules get updated, you need to add them to your commit (since the parent repository maintains pointers to the submodules). Then they will no longer show up as dirty and you can submit the Phabricator patch.
Edward
Excerpts from Karel Gardas's message of 2014-07-25 22:48:21 +0100:
Hi,
just fixing few warning issues on Solaris/x86. The changes spread over main ghc tree and libraries/primitive and libraries/unix. I already commited changes and pushed to my github.com's forks of libraries/primitive and libraries/unix. The git status looks then:
$ git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits)
Changes not staged for commit: (use "git add<file>..." to update what will be committed) (use "git checkout --<file>..." to discard changes in working directory)
modified: libraries/primitive (new commits) modified: libraries/unix (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
and yet phabricator still complains about it:
$ arc diff You have unstaged changes in this working copy.
Working copy: /export/home/karel/vcs/ghc-src/validate-fixes/
Unstaged changes in working copy: libraries/primitive libraries/unix
Do you want to amend these files to the commit? [y/N]
Usage Exception: Stage and commit (or revert) them before proceeding.
I pressed enter in question above.
Is that a known issue or am I doing something wrong here?
Thanks! Karel

That's right. I am actually not even sure how Harbormaster even manages to find your commits for the build... Edward Excerpts from Karel Gardas's message of 2014-07-27 18:02:24 +0100:
Hello Edward,
I've done that, see https://phabricator.haskell.org/D96 -- but now I'm curious but since this is done in this way, basically speaking library/unix + libraries/primitive now points to commits done in my forks of those libs on github.com waiting for approval since I already pushed appropriate pull requests. Now this also means that D96 is probably not includable in GHC HEAD since it points to currently non-existing patches (in public libraries/unix + primitive). Am I right that this works in this way?
Thanks, Karel
On 07/26/14 09:39 PM, Edward Z. Yang wrote:
Hello Karel,
When your submodules get updated, you need to add them to your commit (since the parent repository maintains pointers to the submodules). Then they will no longer show up as dirty and you can submit the Phabricator patch.
Edward
Excerpts from Karel Gardas's message of 2014-07-25 22:48:21 +0100:
Hi,
just fixing few warning issues on Solaris/x86. The changes spread over main ghc tree and libraries/primitive and libraries/unix. I already commited changes and pushed to my github.com's forks of libraries/primitive and libraries/unix. The git status looks then:
$ git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits)
Changes not staged for commit: (use "git add<file>..." to update what will be committed) (use "git checkout --<file>..." to discard changes in working directory)
modified: libraries/primitive (new commits) modified: libraries/unix (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
and yet phabricator still complains about it:
$ arc diff You have unstaged changes in this working copy.
Working copy: /export/home/karel/vcs/ghc-src/validate-fixes/
Unstaged changes in working copy: libraries/primitive libraries/unix
Do you want to amend these files to the commit? [y/N]
Usage Exception: Stage and commit (or revert) them before proceeding.
I pressed enter in question above.
Is that a known issue or am I doing something wrong here?
Thanks! Karel
participants (2)
-
Edward Z. Yang
-
Karel Gardas