Pergunta

I have a long list of commits to make and, as such, would like to stagger the commits. So, when I do:

svn st | ack '^M'

I would like to commit these files only

Is this possible through the command line?

Foi útil?

Solução

The xargs command is useful for this kind of thing.

Assuming you don't have any filenames containing space characters, you can do:

svn st | sed -n 's/^M//p' | xargs svn commit

If you do have space characters in filenames, the sed command becomes a little more complex, to add quotes around each filename:

svn st | sed -n 's/$/"/; s/^M */"/p' | xargs svn commit

(I'm not familiar with ack -- perhaps it could be also be used in place of sed in these examples)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top