Mailinglist Archive: opensuse-buildservice (339 mails)

< Previous Next >
Re: [opensuse-buildservice] osc package-tracking branch
  • From: Marcus Hüwe <suse-tux@xxxxxx>
  • Date: Thu, 6 Mar 2008 13:59:17 +0100
  • Message-id: <20080306125917.GA3668@xxxxxxxxxxxxxxxxxxx>

On 2008-03-05 22:13:22 +0100, Dr. Peter Poeml wrote:

we need your input with this one :-)

Marcus has been developing the so-called package tracking branch for osc
since quite a while. We both believe it would be good to merge it back
into trunk.

For that, it would be very helpful to know from you:

* if anyone has used that branch lately

* what you think about the functionality

What does it do?

In short, it "watches" a project checkout for changes, and keeps track
of the contained packages (hence the name). Thus,

- new directories that you create there, can be osc add'ed
and checked in, without the need to create them first
- adds a command mkpac which achieves the same
- possibly other things, that I don't have on my radar ;)

Basically the aim of this feature is that you can create/delete etc. packages
in an easy way.
Here's a small demo of what you can do with it:

# checkout a new project with existing packages:
marcus@linux:~> osc ls home:Marcus_H:demo
marcus@linux:~> osc co home:Marcus_H:demo
A home:Marcus_H:demo
A home:Marcus_H:demo/foo
A home:Marcus_H:demo/foo/foo.spec
A home:Marcus_H:demo/test
A home:Marcus_H:demo/test/test.spec

# add a new package+files to this project:
marcus@linux:~/home:Marcus_H:demo> osc mkpac bar
A bar
marcus@linux:~/home:Marcus_H:demo> touch bar/{file1,file2,file3}
marcus@linux:~/home:Marcus_H:demo> osc add bar/*
A bar/file1
A bar/file2
A bar/file3

# remove an existing package+files from the project:
marcus@linux:~/home:Marcus_H:demo> osc rm foo/
D foo/foo.spec
D foo

# print out the status of all packages+files:
marcus@linux:~/home:Marcus_H:demo> echo "# modified" >> test/test.spec
marcus@linux:~/home:Marcus_H:demo> osc st
D foo
D foo/foo.spec
M test/test.spec
A bar
A bar/file1
A bar/file2
A bar/file3

# finally commit all changes to the BuildService:
marcus@linux:~/home:Marcus_H:demo> osc ci
Deleting foo
Sending test/test.spec
Transmitting file data .
Committed revision 2.
Sending meta data...
Sending bar
Sending bar/file1
Sending bar/file2
Sending bar/file3
Transmitting file data ...
Committed revision 1.

# the package "foo" was removed and "bar" was added:
marcus@linux:~/home:Marcus_H:demo> osc ls home:Marcus_H:demo

I hope this gives a basic overview about this functionality. It probably
comes in handy for the people who want to control their packages in a svn-like

If you have questions, remarks etc. please let us know:)

To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >