Hi,
Am getting there with this.. slowly, but I seem to have come up against a little
problem. It appears that when sending multiple update requests
within one connection, the server gets a little confused ( perhaps its me thats
confused..... ), then runs out of file descriptors, and then nothing more happens
Am I following the expected protocol? - From my checking with the CVS_CLIENT_LOG, it
seems as if some arguments are added magically in some situations, which I have tried
to duplicate.
If I open a new connection for each file, then the problem disappears. However this is
a rather expensive operation, and takes about 2 seconds on the system that I am
running, what with cvs server running under inetd, authentication etc etc.....
Any help, as always, very much appreciated.
Thanks!
James
Heres my conversation with the server:
C: BEGIN AUTH REQUEST
C: (authentication)
C: END AUTH REQUEST
S: I LOVE YOU
C: UseUnchanged
C: Root /db/dev/imagine/local/its_repository/cvsroot
C: Valid-responses ok error Checked-in M E Valid-requests Updated Merged Removed
C: valid-requests
S: Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot
Static-directory Sticky Checkin-prog Update-prog Entry Kopt Modified Is-modified
UseUnchanged Unchanged Notify Questionable Case Argument Argumentx Global_option
Gzip-stream wrapper-sendme-rcsOptions Set expand-modules ci co update diff log add
remove update-patches gzip-file-contents status rdiff tag rtag import admin export
history release watch-on watch-off watch-add watch-remove watchers editors init
annotate noop
S: ok
OK, now I am ready to send real requests
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument trade_blotter_web.pl
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/reports/trades
C: update
S: M U trade_blotter_web.pl
S: Updated ./
S: /db/dev/imagine/local/its_repository/cvsroot/its/reports/trades/trade_blotter_web.pl
S: /trade_blotter_web.pl/1.10///TSTABLE
S: u=rwx,g=rwx,o=rwx
S: 8212
S: (sent 8212 data bytes)
S: ok
Thats one file, no problems
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument otc_option_ticket_template.html
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/html
C: update
S: ok
Hmm... this file although it exists at level STABLE is not returned... just the OK
response
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument otc_tickets.pl
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/reports/trades
C: update
S: M U otc_tickets.pl
S: Updated ./
S: /db/dev/imagine/local/its_repository/cvsroot/its/reports/trades/otc_tickets.pl
S: /otc_tickets.pl/1.21///TSTABLE
S: u=rw,g=rw,o=rw
S: 33867
S: (sent 33867 data bytes)
This file is OK.
S: ok
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument Collateralwrap.sh
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/batch/collateral
C: update
S: ok
Again no file ( this same thing happens then another 8 times )
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument market_price_check_mail.cfg
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/config
C: update
S: error Too many open files
C: Argument -r
C: Argument STABLE
C: Argument -u
C: Argument OS_marks_XX_APPLIXLIVE.cfg
C: Directory .
C: /db/dev/imagine/local/its_repository/cvsroot/its/config
C: update
S: error Too many open files