Page MenuHomePhabricator
Feed Advanced Search

Jan 10 2017

epriestley moved T10753: Remove Mercurial daemon working copy operations from Backlog to Mercurial on the Diffusion board.
Jan 10 2017, 5:14 PM · Infrastructure, Daemons, Diffusion, Mercurial

Jan 9 2017

epriestley merged T10382: Transaction abort when pushing via SSH to a Mercurial repository into T9548: Support Mercurial's bundle2 wire protocol.
Jan 9 2017, 3:14 PM · Diffusion, Mercurial
epriestley merged task T10382: Transaction abort when pushing via SSH to a Mercurial repository into T9548: Support Mercurial's bundle2 wire protocol.
Jan 9 2017, 3:14 PM · Mercurial, Bug Report
epriestley added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

All evidence points to this and T9548 being the same task, right? I'm just going to merge them.

Jan 9 2017, 3:14 PM · Mercurial, Bug Report
jeremy.norris added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

I believe there's more to it than just the bundle2 setting that causes it to not work. It still breaks for me even with devel.legacy.exchange=bundle1:

Jan 9 2017, 3:00 PM · Mercurial, Bug Report
cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

For now, I'd suggest that if phabricator breaks bundle2, filter the response to the capabilities command and omit bundle2=.* from the response.

Jan 9 2017, 2:30 AM · Mercurial, Bug Report
cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

To be clear my suggestion was only for using 3.4 from client machines. Server machines can still be kept up to date.

Jan 9 2017, 2:04 AM · Mercurial, Bug Report
durin42 added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

Note that my suggestion in https://secure.phabricator.com/T10382#191728 is still what I think /should/ happen: if Phabricator insists on trying to parse the Mercurial protocol, it should absolutely not include capabilities it doesn't understand when queried by the client.

Jan 9 2017, 2:04 AM · Mercurial, Bug Report
indygreg added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

Running vanilla Mercurial 3.4 should not be recommended as all vanilla versions older than 3.7.3 are vulnerable to a trio of CVEs, the most likely exploitable being CVE-2016-3630. Instead, Mercurial <4.0 can be configured to disable bundle2 via the experimental.bundle2-exp=false config option and Mercurial >=4.0 can do the same via devel.legacy.exchange=bundle1. Both of these options are undocumented. I discourage their use. But as a workaround for Phabricator, they are preferred to exposing clients to known security bugs.

Jan 9 2017, 1:40 AM · Mercurial, Bug Report

Jan 7 2017

epriestley added a comment to T7899: DifferentialDiff->description is "text255?" but should be "text".

Yeah, this is in stable, just didn't make the cut for individual mention in the changelog. I think it promoted in Week 52 and I just lumped it into "Differential got infrastructure changes".

Jan 7 2017, 6:17 AM · Differential, Mercurial, Arcanist
cspeckmim added a comment to T7899: DifferentialDiff->description is "text255?" but should be "text".

Ah ok

Jan 7 2017, 3:39 AM · Differential, Mercurial, Arcanist
chad added a comment to T7899: DifferentialDiff->description is "text255?" but should be "text".

I don't think we mention every commit in the changelog?

Jan 7 2017, 2:37 AM · Differential, Mercurial, Arcanist
cspeckmim added a comment to T7899: DifferentialDiff->description is "text255?" but should be "text".

I may have missed it but it doesn't look like this was mentioned in any changelog in December/January - or is this not yet in stable?

Jan 7 2017, 2:33 AM · Differential, Mercurial, Arcanist

Jan 3 2017

cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@jeremy.norris - You should be able to push if you use a mercurial client 3.4 or below. What I did is download the hg-3.4 sources and do make local, then moved the renamed binary into my path (/usr/local/bin/ I think), and I use hg-3.4 push -r master when pushing.

Jan 3 2017, 10:05 PM · Mercurial, Bug Report
jeremy.norris added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

So reading through all of this, am I understanding correctly that Phabricator and Mercurial > 3.4 aren't compatible with each other? I've spent the past couple days attempting to push an existing repository with a few thousand changesets into a Phabricator hosted instance to no avail (using mercurial 4.0.1 for both the client and server).

Jan 3 2017, 9:56 PM · Mercurial, Bug Report

Dec 21 2016

chad merged T12036: hg push fails (remote: Exception: Unknown Mercurial command '448!) into T10382: Transaction abort when pushing via SSH to a Mercurial repository.
Dec 21 2016, 6:05 PM · Mercurial, Bug Report
cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@gabe - That's the same issue, I believe. You should be able to push using Mercurial 3.4. I've been meaning to do some testing to try and fix this over the winter break but a day is no longer what it used to be.

Dec 21 2016, 5:46 AM · Mercurial, Bug Report
gabe added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

Not sure if this is the same issue, this is on a new phacility hosted phabricator instance, when attempting to push to a new mercurial repo:

Dec 21 2016, 3:50 AM · Mercurial, Bug Report

Dec 13 2016

epriestley closed T7899: DifferentialDiff->description is "text255?" but should be "text" as Resolved by committing rPfc6bfbdb103f: Truncate the one-line diff update summary when updating a revision to 250 bytes.
Dec 13 2016, 10:28 PM · Differential, Mercurial, Arcanist
epriestley added a revision to T7899: DifferentialDiff->description is "text255?" but should be "text": D17038: Truncate the one-line diff update summary when updating a revision to 250 bytes.
Dec 13 2016, 5:31 PM · Differential, Mercurial, Arcanist
epriestley added a comment to T7899: DifferentialDiff->description is "text255?" but should be "text".

This field is only populated when you update a revision, and always contains the first line of the update message, which is also posted as a comment.

Dec 13 2016, 5:27 PM · Differential, Mercurial, Arcanist
epriestley claimed T7899: DifferentialDiff->description is "text255?" but should be "text".
Dec 13 2016, 5:07 PM · Differential, Mercurial, Arcanist

Nov 14 2016

epriestley moved T8768: Under Mercurial, `arc patch` mishandles files with spaces in them from Backlog to vNext on the Arcanist board.
Nov 14 2016, 5:52 PM · Git, Mercurial, Arcanist

Nov 11 2016

dmgarcia added a watcher for Mercurial: dmgarcia.
Nov 11 2016, 1:59 AM

Nov 4 2016

cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

As a user of both Phabricator and Mercurial, opening up HTTP isn't an option we want to consider and would instead stick to having the repository hosted elsewhere.

Nov 4 2016, 3:50 AM · Diffusion, Mercurial
epriestley added a comment to T9548: Support Mercurial's bundle2 wire protocol.

Today, we already decode the SSH wire protocol and figure out what's going on inside it up to the bundle2 stuff -- here's the, uh, "protocol spec":

Nov 4 2016, 2:59 AM · Diffusion, Mercurial
indygreg added a comment to T9548: Support Mercurial's bundle2 wire protocol.

It should be possible to determine whether an operation is read or write by the command name: a command either performs writes or it doesn't. The only write commands you should see are unbundle and pushkey. While it might be possible for batch to contain pushkey operations, I don't think that's done today (but I'd have to audit the code to be sure). One thing you should be able to rely on is the HTTP method: GET requests should never perform any significant writes (although some cache files may be written to as a result of resolving data, but that shouldn't be important). It should be perfectly valid to treat GET and POST differently. Although if you route requests to different endpoints within the same TCP/HTTP stream, inconsistent state of a read-only mirror from a master could lead to race conditions (e.g. push fails because a mirror is out of sync). If you route by HTTP request method, you should not need to know anything about the Mercurial wire protocol.

Nov 4 2016, 2:23 AM · Diffusion, Mercurial

Oct 31 2016

cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

@indygreg - Thanks for reaching out and discussing a way forward. I am not on the phabricator team but I do have an interest in its integration capabilities with mercurial. At best I might be able to summarize my understanding of some of phabricator's needs based on the history of this task, but I do not feel I could properly represent them on mercurial's mailing-list or wiki. For hosting repositories I believe this task would require needing to know if the mercurial operation is read or write -- the two primary reasons being read/write access control and cluster picking.

Oct 31 2016, 2:20 AM · Diffusion, Mercurial

Oct 30 2016

indygreg added a comment to T9548: Support Mercurial's bundle2 wire protocol.

While I'm hesitant to throw stones here and don't really have any context on bundle2 or the wire protocol in general and there may be plenty of reasons that it works like it does, my general impression is that the Mercurial wire protocol is significantly under-designed, and is now on at least the 3rd and possibly 4th iteration of hacks to try to address the lack of actual protocol design.

Oct 30 2016, 5:10 PM · Diffusion, Mercurial

Oct 28 2016

indygreg added a watcher for Mercurial: indygreg.
Oct 28 2016, 2:15 AM

Sep 24 2016

cspeckmim added a watcher for Mercurial: cspeckmim.
Sep 24 2016, 3:06 AM

Aug 25 2016

epriestley added a comment to T9548: Support Mercurial's bundle2 wire protocol.

In the read/write case, it's too late once we hit a hook -- we need to be able to decide which cluster node to send the traffic to, and we need to know if it's a read or write request before we make that decision, since there may be a nearby read-only node and a distant read/write node. If we can examine the stream and make a determination that the request is read-only, we can freely pick a nearby read-only node.

Aug 25 2016, 4:42 AM · Diffusion, Mercurial
durin42 added a comment to T9548: Support Mercurial's bundle2 wire protocol.

It's not entirely phabricator specific, as others probably have similar use cases. I'm literally the only hg dev that knows this is an issue (someone flagged me on twitter a month ago, and it's only a strange inability to sleep tonight that got me deep enough in my stack taht I got to this), but if you go to our ML with a decent problem statement ("we need a hook to let us identify read vs write transactions and do our own ACL checking" sounds like a start?) you'll get more help than just me when I'm unable to sleep. :)

Aug 25 2016, 4:31 AM · Diffusion, Mercurial
cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

Aha

Aug 25 2016, 4:30 AM · Diffusion, Mercurial
cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

I'm not a phabricator developer so I'm not sure if supporting mercurial hooks is something they're willing to take upstream. I can join the hg mailing list, but wouldn't this conversation be specific to phabricator and beneficial to be carried out here?

Aug 25 2016, 4:27 AM · Diffusion, Mercurial
epriestley added a comment to T9548: Support Mercurial's bundle2 wire protocol.

Today, we technically do not need to decode the protocol, but we will need to be able to distinguish between read and write requests to implement cluster read-only nodes (T10883) in the future and need to be able to rewrite the protocol to keep parity with fork-like/virtual-ref features that we plan to support in Git (T10691, T8092).

Aug 25 2016, 4:26 AM · Diffusion, Mercurial
durin42 added a comment to T9548: Support Mercurial's bundle2 wire protocol.

Ah, okay. We can probably do a lot better with some sort of pre-transaction hook then (that was my gut feeling to begin with). Once you've got an idea what the use case is, maybe we can chat on the hg mailing list?

Aug 25 2016, 4:24 AM · Diffusion, Mercurial
cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

I am totally on-board with finding something more elegant/maintainable, and would be able to help with some testing and possibly development. I'll try to look over the code in the near future to recall what it was doing, but I believe it's trying to determine whether the mercurial operations are read/write in order to determine whether the actor has necessary permissions to do so. I *believe* that's what it's doing, but it's been close to a year since I was looking through this.

Aug 25 2016, 4:22 AM · Diffusion, Mercurial
durin42 added a comment to T9548: Support Mercurial's bundle2 wire protocol.

We've got a volunteer (slowly) working on documenting formats, but right now bundle2 is not documented extensively outside of the code and the wiki page already mentioned in this thread.

Aug 25 2016, 4:19 AM · Diffusion, Mercurial
cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

@durin42 - that would probably be better than parsing the bundle stream but, is that documented anywhere? I tried looking fairly extensively for details on the bundle2 protocol and never came across that. Also, the bundle stream itself isn't what's being parsed/modified, it's the capabilities/outer protocol which I found at least some documentation, which is what the parsing/filtering is based on.

Aug 25 2016, 4:18 AM · Diffusion, Mercurial
durin42 added a comment to T9548: Support Mercurial's bundle2 wire protocol.

I'm not sure why phabricator is trying to parse the bundle stream (I don't know anything about phabricator), but you should be able to invoke hg with bundle2 disabled by setting experimental.bundle2-advertise to false in an hgrc (or using --config if you're shelling out to hg). Given that it's an experimental flag, it's not something I can promise will exist forever, but it might be a start.

Aug 25 2016, 4:13 AM · Diffusion, Mercurial
durin42 added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

So, yes, the bundle2 thing is definitely orthogonal to this. For now, I'd suggest that if phabricator breaks bundle2, filter the response to the capabilities command and omit bundle2=.* from the response.

Aug 25 2016, 4:06 AM · Mercurial, Bug Report

Aug 5 2016

eadler added a project to T7442: Print out a confirmation message after creating or amending commits: Restricted Project.
Aug 5 2016, 5:24 PM · Restricted Project, Git, Arcanist, Mercurial

Jul 21 2016

epriestley moved T6112: Arcanist can not upload binaries when use Mercurial on Windows from Backlog to Windows on the Arcanist board.
Jul 21 2016, 12:05 PM · Mercurial, Arcanist

Jun 6 2016

epriestley added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

See T9548#139908 for some discussion.

Jun 6 2016, 3:19 PM · Mercurial, Bug Report
jgelens added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

Could someone create a Mercurial bug (https://bz.mercurial-scm.org) with explanation about how Phabricator handles the bundle2 ssh stream? They might be able to give some hints.
I would like to do it, but I'm not sure how Phabricator handles the stream exactly.

Jun 6 2016, 3:08 PM · Mercurial, Bug Report
epriestley merged T11100: transaction abort! when push a lot of changes with mercurial into T10382: Transaction abort when pushing via SSH to a Mercurial repository.
Jun 6 2016, 1:51 PM · Mercurial, Bug Report
richardvanvelzen added a comment to T9948: Modernize "arc land" for Mercurial: bookmark-to-branch, branch-to-self, multiple heads.

For reference, I use this small script to allow myself to easily use arc land with bookmarks:

Jun 6 2016, 11:20 AM · Mercurial, Arcanist

May 2 2016

fedegiova closed Q351: How to strip some mercurial commits as resolved.
May 2 2016, 7:31 AM · Diffusion, Mercurial

Apr 30 2016

avivey added a project to T10900: Repository content search with `hg grep` returns matches found in old versions of files: Mercurial.
Apr 30 2016, 6:15 PM · Mercurial, Diffusion

Apr 26 2016

urzds added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@cspeckmim Sadly I don't have any Mercurial host that is not Phabricator.

Apr 26 2016, 2:27 PM · Mercurial, Bug Report
cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@fcoelho oops sorry about the mixup. I've previously had success by downgrading the client to 3.4 or less.

Apr 26 2016, 1:45 PM · Mercurial, Bug Report

Apr 25 2016

fcoelho added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@cspeckmim I think you probably confused me with @urzds, I didn't post any logs here yet.

Apr 25 2016, 8:23 PM · Mercurial, Bug Report

Apr 22 2016

cspeckmim added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

@fcoelho - Would you be able to test your log change with pushing to a mercurial repository not hosted by Phabricator, to compare with the log from your previous comment?

Apr 22 2016, 2:24 AM · Mercurial, Bug Report

Apr 15 2016

jdickson added a comment to T9548: Support Mercurial's bundle2 wire protocol.

I've been looking at this the last couple of days as it's a pain point for me -- I'd like to host my repositories on Diffusion, and I would like to stay with Mercurial rather than git..

Apr 15 2016, 3:05 PM · Diffusion, Mercurial

Apr 14 2016

jdickson added a comment to Q365: What are Mercurial shops doing to avoid the bundle2 issue? External repositories?.

Tried running 2.6.2 on the server side, and that indeed does fix the bundle2 issue, but creates more issues when trying to push from a 3.7.3 hg client.. :-(

Apr 14 2016, 4:12 PM · Mercurial, Diffusion
jdickson added a comment to Q365: What are Mercurial shops doing to avoid the bundle2 issue? External repositories?.

If I host externally, I basically lose the access control and herald rules, right?

Apr 14 2016, 2:56 PM · Mercurial, Diffusion
cspeckmim added a comment to Q365: What are Mercurial shops doing to avoid the bundle2 issue? External repositories?.

We host most of our Mercurial repositories externally - this is primarily the infrastructure we had prior to adopting Phabricator. We have a few repositories hosted by Diffusion, however our server runs 2.6.2 which does not utilize the bundle2 protocol.

Apr 14 2016, 2:39 PM · Mercurial, Diffusion
cspeckmim added a project to Q365: What are Mercurial shops doing to avoid the bundle2 issue? External repositories?: Mercurial.
Apr 14 2016, 2:37 PM · Mercurial, Diffusion

Apr 13 2016

epriestley updated subscribers of T7899: DifferentialDiff->description is "text255?" but should be "text".
Apr 13 2016, 2:22 AM · Differential, Mercurial, Arcanist

Apr 8 2016

epriestley moved T10753: Remove Mercurial daemon working copy operations from Backlog to Future on the Daemons board.
Apr 8 2016, 8:36 PM · Infrastructure, Daemons, Diffusion, Mercurial
epriestley created T10753: Remove Mercurial daemon working copy operations.
Apr 8 2016, 8:29 PM · Infrastructure, Daemons, Diffusion, Mercurial

Apr 7 2016

cspeckmim updated the question details for Q351: How to strip some mercurial commits.
Apr 7 2016, 6:22 AM · Diffusion, Mercurial

Mar 12 2016

epriestley updated the task description for T1130: Add Mercurial tag/bookmark support to Diffusion.
Mar 12 2016, 1:03 PM · Mercurial, Diffusion
epriestley merged T10573: Show Mercurial bookmarks in Diffusion into T1130: Add Mercurial tag/bookmark support to Diffusion.
Mar 12 2016, 1:02 PM · Mercurial, Diffusion
epriestley merged task T10573: Show Mercurial bookmarks in Diffusion into T1130: Add Mercurial tag/bookmark support to Diffusion.
Mar 12 2016, 1:02 PM · Mercurial, Diffusion, Feature Request
epriestley renamed T1130: Add Mercurial tag/bookmark support to Diffusion from Add Mercurial tag support to Diffusion to Add Mercurial tag/bookmark support to Diffusion.
Mar 12 2016, 1:02 PM · Mercurial, Diffusion
epriestley added a comment to T1130: Add Mercurial tag/bookmark support to Diffusion.

Ah, you're right, thanks! I misread that page -- that does make Mercurial tags a lot easier to deal with.

Mar 12 2016, 1:02 PM · Mercurial, Diffusion
isfs added a comment to T1130: Add Mercurial tag/bookmark support to Diffusion.

They're a function of an individual commit instead of being a function of the repository as a whole, so we'd have to do a lot more work to support them (it's not meaningful to, say, "list all tags in the repository", as it is with Git), ...

Mar 12 2016, 8:25 AM · Mercurial, Diffusion
isfs created T10573: Show Mercurial bookmarks in Diffusion.
Mar 12 2016, 8:10 AM · Mercurial, Diffusion, Feature Request

Mar 3 2016

WTreutterer added a comment to T9450: "abort: not a Mercurial bundle" with Mercurial 3.5>=.

The same problem occurred on my site with the latest Phabricator and the latest Mercurial 3.7.2 installed on both sides.

Mar 3 2016, 11:21 AM · Mercurial

Feb 23 2016

urzds added a comment to T10382: Transaction abort when pushing via SSH to a Mercurial repository.

Reading the code around /usr/lib/python2.7/dist-packages/mercurial/sshserver.py:32:

def getargs(self, args):
    data = {}
    keys = args.split()
    for n in xrange(len(keys)):
        argline = self.fin.readline()[:-1]
        arg, l = argline.split()
        if arg not in keys:
            raise util.Abort("unexpected parameter %r" % arg)
        if arg == '*':
            star = {}
            for k in xrange(int(l)):
                argline = self.fin.readline()[:-1]
                arg, l = argline.split()
                val = self.fin.read(int(l))
                star[arg] = val
            data['*'] = star
        else:
            val = self.fin.read(int(l))
            data[arg] = val
    return [data[k] for k in keys]
Feb 23 2016, 4:37 PM · Mercurial, Bug Report

Feb 20 2016

urzds added a comment to T6171: Transaction abort on first push via SSH to empty Mercurial repository.

This implies a question: Could it be Phabricator which modifies the stream between the client and the server in an illegal way? Or is this some bug in Mercurial itself?

Feb 20 2016, 12:13 AM · Mercurial, Diffusion
urzds added a comment to T6171: Transaction abort on first push via SSH to empty Mercurial repository.

Reading the code around /usr/lib/python2.7/dist-packages/mercurial/sshserver.py:32:

def getargs(self, args):
    data = {}
    keys = args.split()
    for n in xrange(len(keys)):
        argline = self.fin.readline()[:-1]
        arg, l = argline.split()
        if arg not in keys:
            raise util.Abort("unexpected parameter %r" % arg)
        if arg == '*':
            star = {}
            for k in xrange(int(l)):
                argline = self.fin.readline()[:-1]
                arg, l = argline.split()
                val = self.fin.read(int(l))
                star[arg] = val
            data['*'] = star
        else:
            val = self.fin.read(int(l))
            data[arg] = val
    return [data[k] for k in keys]
Feb 20 2016, 12:08 AM · Mercurial, Diffusion

Feb 19 2016

mrjoops added a comment to T1130: Add Mercurial tag/bookmark support to Diffusion.

Our projects make heavy use of mercurial tags too, for version tagging and it would be great to see them in Phabricator to easily compare files between versions (they're way more easy to remember than changeset hashes).

Feb 19 2016, 2:34 PM · Mercurial, Diffusion

Feb 18 2016

chad added a project to T10382: Transaction abort when pushing via SSH to a Mercurial repository: Mercurial.
Feb 18 2016, 4:23 PM · Mercurial, Bug Report

Feb 11 2016

urzds added a comment to T6171: Transaction abort on first push via SSH to empty Mercurial repository.

The issue is back, but this time it affects an existing repository, which I was using successfully for a long time. Please reopen.

Feb 11 2016, 5:03 PM · Mercurial, Diffusion
WTreutterer added a watcher for Mercurial: WTreutterer.
Feb 11 2016, 8:04 AM

Feb 3 2016

andyboeh added a comment to T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

@cspeckmim I just fixed that, unfortunately, it doesn't help. Here is a complete debug output when trying to push:

Feb 3 2016, 3:30 PM · Diffusion, Mercurial
cspeckmim added a comment to T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

@andyboeh - I think there might be an issue with some of the fixes I was looking at. When removing the bundle2 capability from reply, the message preceding the capabilities output is a length of the following line, usually something like

242
capabilities: a, b, c, d, bundle2=http%%%%%...

By just removing bundle2 it causes the preceding number to be off, which is what the client uses for parsing the stream. I haven't gotten back to looking at this but I think that's the issue you're seeing.

Feb 3 2016, 2:40 PM · Diffusion, Mercurial
andyboeh added a comment to T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

I am on Mercurial 3.6 on both, the server and the client, and just tried what @cspeckmim suggested: Removing bundle2 from the capabilities in reply to the hello command. Now my client gets one step further, but still fails to push most of the time with remote: abort: stream ended unexpectedly (got 0 bytes, expected 4)

Feb 3 2016, 10:13 AM · Diffusion, Mercurial

Jan 19 2016

efkan added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

@cspeckmim - you're right. But for now I'm not going to create Maniphest Task because I'm a novice in Phabricator. Actually I don't think, but maybe I did wrong something. Before writing this question I've seen T9450. When I become a more experienced user, I'll use Maniphest tasks. Thanks for your advice and sharing your experiences.

Jan 19 2016, 7:31 AM · Mercurial
avivey added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

Yeah, the Q&A section isn't monitored for these kinds of things, it's more for support.
However, since this is hard to reproduce (See Contributing Bug Reports), it would be very hard to get any resources to solve.

Jan 19 2016, 7:22 AM · Mercurial
cspeckmim added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

@efkan - you should probably make a Maniphest Task for errors you run into rather than a Ponder Question - errors will likely be seen and fixed sooner than questions. For example I am not an administrator and I don't believe @avivey is either (but a very active user/contributor).

Jan 19 2016, 7:05 AM · Mercurial
efkan closed Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could as resolved.
Jan 19 2016, 6:53 AM · Mercurial
efkan added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

This issue had been created for to create awareness to administrators and users.

Jan 19 2016, 6:53 AM · Mercurial
cspeckmim added a comment to T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

It's late...

Jan 19 2016, 6:45 AM · Diffusion, Mercurial
cspeckmim updated subscribers of T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

The mercurial server is sending down capabilities which includes bundle2 at the beginning of the remote SSH during push (which tells the client it can use new bundle2). It's not sent as part of a command which the client invokes which is what T9450 is handling. Instead when the mercurial command server initializes it immediately sends over a list of capabilities.

Jan 19 2016, 5:38 AM · Diffusion, Mercurial
cspeckmim added a comment to T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.

I think I may see what the issue is. I believe the 'hello' command returns its list of capabilities, which is not filtered by T9450. I'm trying to test out some fixes but having difficulty with nano~

Jan 19 2016, 3:34 AM · Diffusion, Mercurial
cspeckmim updated the task description for T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.
Jan 19 2016, 3:09 AM · Diffusion, Mercurial
cspeckmim updated the task description for T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.
Jan 19 2016, 3:03 AM · Diffusion, Mercurial
cspeckmim updated the task description for T9639: Unable to push to hosted Mercurial repository over SSH with new upstream bookmark position.
Jan 19 2016, 3:02 AM · Diffusion, Mercurial

Jan 18 2016

efkan added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

I cloned Phabricator on 2016-01-16 by using that. Because of I use Windows OS, I cannot run arc upgrade.

Jan 18 2016, 9:07 AM · Mercurial
efkan added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

I use ubuntu 14.04.2 as my server and its hg version is 3.3.2.
I had upgraded when I couldn't push to the server.

Jan 18 2016, 9:01 AM · Mercurial
cspeckmim added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

I just tried pushing a commit and this worked fine. I tried this with 3.6.3 on the client and tried pushing commits with these different versions on the server:

  • 2.6.2
  • 3.4.2
  • 3.5.1
  • 3.6.3

In every case the push when through without issues. I suspect @efkan may have an outdated install/configuration.

Jan 18 2016, 1:48 AM · Mercurial

Jan 17 2016

avivey added a comment to Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could.

What's the hg version on the server?

Jan 17 2016, 7:50 PM · Mercurial
efkan updated Q283: Mercurial v3.6.3 couldn't push but v3.4.2 could from to Mercurial v3.6.3 couldn't push but v3.4.2 could.
Jan 17 2016, 7:15 PM · Mercurial

Jan 13 2016

argylelabcoat added a comment to T6118: Support for Mercurial extensions in hosted repositories.

Re: LargeFiles Patch

Jan 13 2016, 10:53 PM · Mercurial, Diffusion

Jan 7 2016

epriestley merged task T8400: Details of files in diffusion browse view take long to load into T2683: Improve the performance of Diffusion browse views.
Jan 7 2016, 2:23 AM · Mercurial, Diffusion

Dec 15 2015

dereckson added a comment to T8768: Under Mercurial, `arc patch` mishandles files with spaces in them .

@michaeljs1990. You seem to have another issue.

Dec 15 2015, 8:24 PM · Git, Mercurial, Arcanist