Come fare 'hg remove' di Mercurial per tutti i file mancanti?


224

Lo uso per rimuovere un file dal repository:

hg remove <full file path> 

Quale comando puoi usare per fare uno hg removesu tutti i file che sono stati eliminati localmente?

Per eliminazione locale, intendo quelli che si presentano con un !quando lo fai hg status.

Per le aggiunte, puoi semplicemente fare hg addper aggiungere tutti i nuovi file (quelli con prefisso ?).

Risposte:


364

Ciò aggiungerà tutti i nuovi file che non vengono ignorati e rimuoverà tutti i file mancanti localmente

hg addremove

Ognuno di questi rimuoverà tutti i file mancanti localmente (sono lo stesso comando)

hg remove --after
hg remove -A

7
c'è anche hg dimenticare che è equivalente a hg rm -Af
jk.

37
il jk per un nome utente è minaccioso, mi sento come evertime ho letto uno dei tuoi commenti o post che stai dicendo "sto solo scherzando" alla fine :( detto questo, questo ha aiutato, applausi!
Lester Peabody,

6
una parola di avvertimento ... non impazzire quando scarica un sacco di schifezze sullo schermo ... (come ho fatto io)
Richard B,

1
Wow! Grazie! Ciò ha aiutato molto! Wow! +1 :) hg rm -A
Cullub,

32

Se intendi fare addremove e commit, può essere unito con l'opzione '-A' come mostrato qui :

hg commit -A -m 'Commit with addremove'

5

La domanda originale chiedeva come rimuovere (cioè dimenticare) i file che appaiono come "!"quando si usa hg st. Un approccio diretto che ha il vantaggio della trasparenza è l'uso hg stcon l' -nopzione:

hg -v forget $(hg st -nd)

(Naturalmente i file verranno dimenticati solo al prossimo commit .)

I flag sono ben documentati altrove (ad es. Dal comando hg stesso), ma in breve:

  • -n significa "solo nome file"
  • -d significa "seleziona i file che sono stati eliminati"

Puoi spiegare ognuna di quelle bandiere?
Cullub,

1

Se vuoi aggiungereremove e commit, ma non sei pronto per eseguire il commit delle altre modifiche, penso che devi ancora enumerarle:

$ hg st
M modified-file
A added-file
R removed-file-1
R removed-file-2

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-*
abort: removed-file-*: No such file or directory

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2
committed changeset 185:628800a7af84
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.