2011-09-05 10 views
4

私のリポジトリは合併できず、取り出すことができず、間違いであった不要な頭を単に閉じることができないため、更新できません。私はhgを変更してマージを複雑にしているようです。私はその変更(ヘッド)がむしろ無関係であると思っています。私は1つのヘッドと1つのブランチだけを有効にしたいと思います。Mercurialは異なるヘッドをどう扱うかを質問します

$ hg merge 
branch 'default' has 4 heads  
$ hg merge -r e571b17295e9 
outstanding uncommitted changes (use 'hg status' to list changes) 
$ hg commit -m '' 
nothing changed 

私はhg pushまたはhg pull somewhereを忘れましたか?何も変更されていない場合、未確定のコミットされていない変更はなぜなのですか?これはhgヘッドの最新出力です。これらの変更の詳細については、どのようにして知ることができますか? なぜ頭の一つを取り除くのと同じくらい単純なことをするのは、ほとんど不可能ですか? 私はhgがチェンジセット、リビジョン、ヘッド、ブランチなどをどのように定義しているのか不思議ではありません。単純なアクションを単純にしたいだけです。

$ hg head 
ändring:  233:88de4be7943c 
märke:  tip 
användare: niklasro 
datum:  Mon Sep 05 18:30:37 2011 +0000 
kortfattat: addremove 

ändring:  176:e571b17295e9 
användare: tekniklas 
datum:  Sat Jan 08 04:45:07 2011 +0000 
kortfattat: twitter support added 

ändring:  159:f8d974793b12 
förälder: 157:ef1d955b9236 
användare: tekniklas 
datum:  Sat Dec 18 17:05:45 2010 +0000 
kortfattat: remove 

ändring:  89:008a2ac46b4f 
användare: tekniklas 
datum:  Sun Aug 01 07:10:40 2010 +0000 
kortfattat: classifiedsmarket/market/market_ad_preview.html 

私は水銀を使用する方法を完全に理解していません。いくつかのいわゆる頭があったときに、これらの日々の出来事を見てください。私は主にこのリポジトリの唯一の開発者ですが、多くの場所から更新する能力が必要です。以前私はこれらの変更について尋ねましたが、hg pullをリポジトリからローカルに同期させる方法を理解できないようです。私はHGクローンを行い、変更内容を追加しますが、上記の変化は、私が何かを同期するのを忘れていることを意味し、私がしたいことができ、それが容易に

abort: unsynced remote changes?

How to see a mercurial difference

How to get rid of older mercurial heads?

今HG diff、hg status、hg incomingに変更は表示されず、リポジトリ(googlecode.comにある)をクリーンアップして、ウェブ上でファイルを更新することもできます。googlecode.comには、リポジトリとローカル間の同期。何かアドバイス

編集用

ありがとう:e571b17295e9は重要ではなく、私はノー実際の変化と先端とそれをマージしたいが、1頭を取得:私は176チェンジいることがわかります。

enter image description here

だから私は試してみて、私はチェンジがirrevelavantであることを取得し、私は、この変更を気にしないでください:

$ hg diff -c e571b17295e9 
diff -r f50d4c4461e5 -r e571b17295e9 classifiedsmarket/app.yaml 
--- a/classifiedsmarket/app.yaml Thu Jan 06 11:36:10 2011 +0000 
+++ b/classifiedsmarket/app.yaml Sat Jan 08 04:45:07 2011 +0000 
@@ -4,6 +4,10 @@ 
api_version: 1 
default_expiration: "400d 5h" 
handlers: 
+- url: /twitter 
+ script: /twitter_oauth_handler.py 
+- url: /oauth.* 
+ script: /twitter_oauth_handler.py 
- url:/
    script: i18n.py 
- url: /li 

なぜ私にはないチェンジについてたくさんadministationが必要なのか全く問題?

だから私はこの他の方法でも失敗します。すばらしいです。水銀選択して、あなたが行うすべては、いくつかのゴミを失うことをしようとしているので、あなたが開発を行うことができなくなります。

hg update -r 123 
hg commit --close-branch -m 'Closing old branch' 
hg update -C default 

私の試み:

$ hg update -r e571b17295e9 
avbryter: crosses branches (merge branches or use --clean to discard changes) 

グレート、何も動作し、どのような私がしようとしています本当に簡単です。私はいくつかのより多くが、本当にそれは本当に簡単な何かをすることは不可能だということを理解することが、我々は最も基本的なことをやろうとしている時間を失う方法を試してみて、どのようにMercurialが、単純な何かを行うことはできません。

$ hg head 
ändring:  235:68bc6873fafb 
märke:  tip 
användare: niklasro 
datum:  Tue Sep 06 11:53:32 2011 +0000 
kortfattat: added fblist 

ändring:  176:e571b17295e9 
användare: tekniklas 
datum:  Sat Jan 08 04:45:07 2011 +0000 
kortfattat: twitter support added 

ändring:  159:f8d974793b12 
förälder: 157:ef1d955b9236 
användare: tekniklas 
datum:  Sat Dec 18 17:05:45 2010 +0000 
kortfattat: remove 

ändring:  89:008a2ac46b4f 
användare: tekniklas 
datum:  Sun Aug 01 07:10:40 2010 +0000 
kortfattat: classifiedsmarket/market/market_ad_preview.html 

$ hg merge -r e571b17295e9 
avbryter: outstanding uncommitted changes (use 'hg status' to list changes) 

だから私はちょうど別の方法を試してみてください明確にする方法VCSは、完全に、それはあなたがしようとしている本当に簡単だない場合でも動作しません。その代わりに開発し、これらの愚かな改正を行うことができることから私を停止します。

$ hg update -r e571b17295e9 
avbryter: crosses branches (merge branches or use --clean to discard changes) 

私は新しいローカルの作成終了しました各リビジョンのディレクトリをクローズし、リビジョンをクローンし、クローズし、コミットし、ローカルクローンからプッシュした私はこれを正しい方法でしましたか?私はまだクローズド・ヘッドを「開く」ことができますが、私はまだ他の人の変更と同期しようとはしていませんでした。googlecode.comのwebuiを使って変更を行い、ローカルクローン。

私は3つのリビジョンをクローンして、コミットされていないチェンジセットをクローズし、コミットされていないチェンジセットを処理できるhg head -r -closeまたはhgの単純なギアの代わりに1つずつ閉じます。

それは解決に見えると私は複数のヘッドは何であったかを表示することができます。

o changeset: 181:bb0545ceff33 
| parent:  179:b03d10fc4260 
| user:  tekniklas 
| date:  Sun Jan 09 04:39:33 2011 +0000 
| summary:  twitter support 
| 
| o changeset: 180:9bbefafbdb16 
| | parent:  178:e571b17295e9 
| | user:  niklasro 
| | date:  Tue Sep 06 14:09:19 2011 +0000 
| | summary:  close badbranch, this approach never worked 
| | 
o | changeset: 179:b03d10fc4260 
| | parent:  177:f50d4c4461e5 
| | user:  tekniklas 
| | date:  Sun Jan 09 04:32:12 2011 +0000 
| | summary:  removed aeoid 
| | 
| o changeset: 178:e571b17295e9 
|/ user:  tekniklas 
| date:  Sat Jan 08 04:45:07 2011 +0000 
| summary:  twitter support added 
| 
o changeset: 177:f50d4c4461e5 
| user:  tekniklas 
| date:  Thu Jan 06 11:36:10 2011 +0000 
| summary:  i18n reports 

...

o changeset: 163:aa078cbdbbe5 
| parent:  161:51ec76c45cf0 
| user:  tekniklas 
| date:  Sat Dec 18 19:20:25 2010 +0000 
| summary:  fb login 
| 
| o changeset: 162:37951de836dc 
| | parent:  160:f8d974793b12 
| | user:  niklasro 
| | date:  Tue Sep 06 14:17:18 2011 +0000 
| | summary:  close badbranch, this approach never worked 
| | 
o | changeset: 161:51ec76c45cf0 
| | parent:  159:652958f895e2 
| | user:  tekniklas 
| | date:  Sat Dec 18 19:19:41 2010 +0000 
| | summary:  fb login 
| | 
| o changeset: 160:f8d974793b12 
| | parent:  158:ef1d955b9236 
| | user:  tekniklas 
| | date:  Sat Dec 18 17:05:45 2010 +0000 
| | summary:  remove 
| | 
o | changeset: 159:652958f895e2 
| | parent:  157:9658adb05792 
| | user:  tekniklas 
| | date:  Sat Dec 18 19:19:17 2010 +0000 
| | summary:  fb login 
| | 
| o changeset: 158:ef1d955b9236 
|/ user:  tekniklas 
| date:  Sat Dec 18 17:05:00 2010 +0000 
| summary:  removed 
| 
o changeset: 157:9658adb05792 
| user:  tekniklas 
| date:  Fri Dec 17 21:57:36 2010 +0000 
| summary:  tabs 

...

o changeset: 92:9e48ce2a444e 
| parent:  90:a381c59aedc1 
| user:  [email protected] 
| date:  Mon Aug 02 04:30:31 2010 +0000 
| summary:  coordinates 
| 
| o changeset: 91:84facd40c690 
| | parent:  89:008a2ac46b4f 
| | user:  niklasro 
| | date:  Tue Sep 06 14:18:58 2011 +0000 
| | summary:  close badbranch, this approach never worked 
| | 
o | changeset: 90:a381c59aedc1 
| | parent:  88:cfcd7313278d 
| | user:  [email protected] 
| | date:  Mon Aug 02 04:30:16 2010 +0000 
| | summary:  logo 
| | 
| o changeset: 89:008a2ac46b4f 
|/ user:  tekniklas 
| date:  Sun Aug 01 07:10:40 2010 +0000 
| summary:  classifiedsmarket/market/market_ad_preview.html 
| 
o changeset: 88:cfcd7313278d 
| user:  [email protected] 
| date:  Sun Aug 01 05:58:50 2010 +0000 
| summary:  previewform 

...

+1

マージが「未処理の変更」と言っていて、コミットするものがないというのはちょっと奇妙です。 (あなたがそのエラーを受け取った場合、HGステータスリストは何ですか?レポ全体をクローンすると、そこにマージしてからマージバックを戻せますか?)しかし、あなたが求める(そして必要な)ヘルプの量は、おそらくチャットで、または水銀のメールリストで、ここよりも適切な助けを受けてください。 (最初からかなり修正されて以来、あなたは簡単で、答えることができる質問をしていません。 – Macke

+0

コメントありがとうございます。私はもはや "複数の頭"を持っていないことをうれしく思っています。バグ修正/私の場合、チェンジセットは、後でチェンジセットを使用してコミットされた簡単な変更の間違いでしたので、 'hg heads -remove -r'のように、変更をただちに止めることができます。今私はファイルをgooglecode.comウェブで変更でき、今週からリポジトリへの貢献を得ているので、多くのクローンと同期できるかどうかを見たいと思っています。 –

+0

聖なる巨大なポストバットマン! – jcollum

答えて

2

あるリビジョングラフを見て、そしてそれはあなたに明確でなければならない:

これは介して行うことができます。

  • hg serveとウェブブラウザを開くにはhttp://localhost:8000
  • hg glog-l 20〜最新の20コミットのみ)
  • ご使用のOSで利用可能であれば、TortoiseHgを使用してください。

それは次のようなものに見えるだろう。これらのヘッドの変化を組み合わせるために

 TortoiseHg revision log view

を、あなたはそれらをマージする必要があります。上記の68040を参照してください。これは、2つのヘッドを1つにまとめたものです。複数の場所から同時にコミットする場合は、これが必要です。

+0

私は複数のヘッドのうちの1つのチェンジセットを見ましたが、それは変更された2つのラインだけであり、それは重要ではありません。私はその変化を忘れて、単純なことをするのが不可能な、この直感的でない管理の代わりに開発を続けていきたいと思っています。水銀で本当に簡単なこと、つまり削除、削除、変更を忘れることはなぜ難しいのですか? –

+0

4つのヘッドがあるので、私はマージできません。私は4つのヘッドで始まり、何もできません。 –

+0

@Niklas:頭が2つしかなく、チェックアウトした場合、Mercurialは自動的に "もう一方の"とマージします。それ以外の場合は、マージするリビジョンを指定する必要があります。 (TortoiseHgでは、マージして、GUIから "other"ブランチを破棄することができます。これにより、特定の変更が問題ではないことを簡単に記録できます)。 (また、少し落ち着いて、一般的な操作のMercurial FAQを読んでみることをお勧めします。そのため、Mercurialで何がどうやって行われたのかを知ることができます) – Macke

2

実行可能

hg diff -c R 

あなたはTortoiseHg seのようなログビューアを使用して、チェンジセットがチェンジセットグラフのどこに表示されるかを確認することもできます。

基本的な作業サイクルは

# work 
hg commit 
# work 
hg commit 
hg push 
# aborts: multiple remote heads 
hg pull 
# hg heads show two heads 
hg merge 
hg commit 
hg push 
+0

私はチェンジセットを見て、それは無関係であることは明らかです。なぜそれを取り除くことは難しいですか? –

関連する問題