Bazaar Won't Commit or Update

A. S. Budden abudden at gmail.com
Wed Sep 28 07:21:05 UTC 2011


On 27 September 2011 15:43, John Arbash Meinel <john at arbash-meinel.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 9/27/2011 4:37 PM, A. S. Budden wrote:
>> On 27 September 2011 15:23, John Arbash Meinel
>> <john at arbash-meinel.com> wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>>
>>> On 9/27/2011 4:02 PM, A. S. Budden wrote:
>>>> Dear all,
>>>>
>>>> One of my colleagues is having some fairly major problems with
>>>>  Bazaar. He has made some changes to the files in his working
>>>> directory and now cannot commit (or even update).  This seems
>>>> to have affected the (bzr-externals) library modules in the
>>>> project as well.  We use heavyweight checkouts on all of our
>>>> projects here (in case it makes a difference).
>>>>
>>>> The output of "bzr update":
>>>>
>>>> bzr: ERROR: [Errno 2] No such file or directory
>>>>
>>>> Similar output comes from "bzr ci -m Message" or "bzr pull
>>>> f:/path/to/repository/branch".  Adding the "--verbose" option
>>>> or the "--no-plugins" option makes no difference.
>>>>
>>>> I'm a bit lost as to what to do with this: it doesn't tell me
>>>> which file or directory is missing!  This is a little scary as
>>>> it's the first fairly fundamental problem we've had with
>>>> Bazaar...
>>>>
>>>> Any help anyone could offer in getting this working again (or
>>>> at least working out why it isn't working) would be greatly
>>>> appreciated.
>>>>
>>>> Al
>>>>
>>>> Some more information in case it's helpful:
>>>
>
> ...
>
>> File "bzrlib\fetch.pyo", line 130, in _fetch_everything_for_search
>>  File "bzrlib\vf_repository.pyo", line 1955, in insert_stream File
>> "bzrlib\repository.pyo", line 794, in start_write_group File
>> "bzrlib\repofmt\pack_repo.pyo", line 1708, in _start_write_group
>> File "bzrlib\repofmt\pack_repo.pyo", line 1515, in
>> _start_write_group File "bzrlib\repofmt\groupcompress_repo.pyo",
>> line 130, in __init__ File "bzrlib\transport\local.pyo", line 331,
>> in open_write_stream File "bzrlib\osutils.pyo", line 2370, in
>> open_file OSError: [Errno 2] No such file or directory
>>
>> Does this give any clues?
>>
>> Thanks,
>>
>> Al
>
> Sounds like .bzr/repository/upload is missing. It is usually an empty
> directory, but it is used to stage changes to the repository (so you
> write a bunch of stuff, then rename it and update a file to make the
> change atomic.)
>
> In .bzr/repository I have:
> $ ls ../.bzr/repository/
> format  indices/  lock/  no-working-trees  obsolete_packs/  pack-names
>  packs/  shared-storage  upload/
>
> no-working-trees and shared-storage are feature flags which may or may
> not be there, but the rest are required.
>
> If you are missing one, you can just "mkdir obsolete_packs/" and
> "mkdir upload/", and probably the same for lock/. For the others, if
> they are missing, you've lost critical data.

As you correctly surmised, it was the upload directory that was
missing: creating this directory fixed the problem.  All of the rest
of the entries (except no-working-trees and shared-storage) were
present.

> I would also recommend trying to investigate why an empty directory
> might be being deleted by your OS/whatever. Otherwise this will just
> happen again.

Indeed: this does concern me slightly, but I don't know that it's
going to be straightforward to work out how it happened...

Thanks again for the help.

Al



More information about the bazaar mailing list