profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/txchen/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Tianxiang Chen txchen WA, USA Best programming language? Hejlsberg!

txchen/feplay 220

Frontend Play

txchen/eslint-plugin-riot 28

An ESLint plugin to extract and lint scripts from riotjs tag.

txchen/dotnet-spa 21

Hello world of aspnet mvc webapi + vue

txchen/csharp-leet 4

csharp solutions for leetcode

txchen/brightday-dl 2

To backup the pictures from my bright day app

txchen/DevEnvSetup 2

personal environment setting scripts

txchen/android-system-info 1

A deadlly simple app that shows system information.

txchen/antigfw-dnsmasq 1

dnsmasq config that helps you bypass gfw

txchen/fastify-nextjs 1

fastify nextjs typescript all together

lfy2015/appinfo 0

pyapp.info

push eventrepo-mono/arcanist

xiciluan

commit sha 8e80b07129dcce38bf183d777e9c8de6be6716ff

update --rebase flag (#39)

view details

push time in 2 days

PR merged repo-mono/arcanist

update --rebase flag

After this change

arc diff --rebase => Perform rebase to stable and then create a diff. 
arc diff => Directly create a diff
+5 -11

0 comment

1 changed file

xiciluan

pr closed time in 2 days

PullRequestReviewEvent

startedreruin/sharelist

started time in 4 days

startedlujjjh/lito

started time in 4 days

startedehForwarderBot/efb-wechat-slave

started time in 4 days

push eventtxchen/xbrowsersync-cfw

Lapo Luchini

commit sha ea69a24434ba19ff9968bb94e18a0a048f2d39ea

Add initial CORS support (for Chrome extension). (#3)

view details

push time in 5 days

PR merged txchen/xbrowsersync-cfw

Add initial CORS support (for Chrome extension).

Chrome Extension was failing to me for CORS reasons (Firefox one doesn't), so I added the base minimum CORS headers to let it work.

+25 -7

1 comment

1 changed file

lapo-luchini

pr closed time in 5 days

pull request commenttxchen/xbrowsersync-cfw

Add initial CORS support (for Chrome extension).

Thank you @lapo-luchini so much for the PR!

lapo-luchini

comment created time in 5 days

issue commenttxchen/xbrowsersync-cfw

xBrowserSync Android client refuses to connect to routed Cloudflare Worker

I have never tried cf route and android client, and I have no idea why chrome ext can work but android cannot. Have you tried using curl to call the api to debug? Most likely I guess it is android client's issue, maybe to get more detailed log from it?

crlmahlberg

comment created time in 5 days

startedLSPosed/LSPosed

started time in 6 days

startedapple/foundationdb

started time in 8 days

startedEtherDream/web2img

started time in 10 days

startedtachiyomiorg/tachiyomi

started time in 10 days

startedcraigary/nobelium

started time in 10 days

push eventrepo-mono/arcanist

xiciluan

commit sha 340519a4a98c2c914f83abfa07e953fc918d1bec

Add --rebase flag for arc diff to enable rebase before creating the diff (#38) * Add --rebase flag for arc diff to enable rebase before creating the diff * make runRebaseToStable a seperate function * update prompt when rebase failed * update prompt when rebase failed

view details

push time in 11 days

PR merged repo-mono/arcanist

Add --rebase flag for arc diff to enable rebase before creating the diff

Summary

Original proposal here.

This PR will add a --rebase flag for arc diff.
To enable rebase before creating diff, run arc diff --rebase true; otherwise, run arc diff --rebase false or just arc diff. Default value for is false for now. Will switch to true in the future.

Testing

After making some dummy update on a local branch, if there's no merge conflicts between local branch and stable, console output:

$ arc diff --rebase true
Running arc rebase...
 SHELL ALIAS  arc rebase -> $ eval '$(git rev-parse --show-toplevel)/arcanist/aliases/rebase.sh'
remote: Enumerating objects: 564, done.
remote: Counting objects: 100% (564/564), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 353 (delta 276), reused 306 (delta 231), pack-reused 0
Receiving objects: 100% (353/353), 83.77 KiB | 4.93 MiB/s, done.
Resolving deltas: 100% (276/276), completed with 193 local objects.
From github.com:robinhoodmarkets/rh
 * branch                    master     -> FETCH_HEAD
 * branch                    stable     -> FETCH_HEAD
   45c17b5facb..87c3de84999  master     -> origin/master
   fd80e976a8d..6e809ff7eba  stable     -> origin/stable
Successfully rebased and updated refs/heads/tmp2.
Returned with status 0 and outputs:

If there are merge conflicts between the two branch, there will be prompt to determine if to continue creating the diff.

$ arc diff --rebase true
Running arc rebase...
 SHELL ALIAS  arc rebase -> $ eval '$(git rev-parse --show-toplevel)/arcanist/aliases/rebase.sh'
remote: Enumerating objects: 25, done.
remote: Counting objects: 100% (25/25), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 14 (delta 12), reused 13 (delta 11), pack-reused 0
Unpacking objects: 100% (14/14), 1.68 KiB | 95.00 KiB/s, done.
From github.com:robinhoodmarkets/rh
 * branch                    master     -> FETCH_HEAD
 * branch                    stable     -> FETCH_HEAD
   732a595c804..186e1068722  master     -> origin/master
   25bcf1c100f..aa6a70f9184  stable     -> origin/stable
error: could not apply 142a0e0814b... create a conflict
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 142a0e0814b... create a conflict
Returned with status 1 and outputs:
Auto-merging sickle/integration_tests/roles/sickle/supervisord.conf
CONFLICT (content): Merge conflict in sickle/integration_tests/roles/sickle/supervisord.conf


    arc rebase failed, do you want to continue creating the diff? [y/N] 

If yes,

arc rebase failed, do you want to continue creating the diff? [y/N] y

Running git rebase --abort

If no,

    arc rebase failed, do you want to continue creating the diff? [y/N] h


    arc rebase failed, do you want to continue creating the diff? [y/N] n

Stop creating diff...

If there's no wifi or VPN connected, same exception will be thrown for arc diff and arc diff --rebase true.

+45 -0

1 comment

1 changed file

xiciluan

pr closed time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentrepo-mono/arcanist

Add --rebase flag for arc diff to enable rebase before creating the diff

 public function isRawDiffSource() {     return $this->getArgument('raw') || $this->getArgument('raw-command');   } +  private function runRebaseToStable() {+    # return if continue creating the diff, true or false+    $is_rebasing = trim(strtolower($this->getArgument('rebase')));+    $do_rebase = null;+    if ($is_rebasing == 'true') {+      $do_rebase = true;+    } elseif ($is_rebasing == "false") {+      $do_rebase = false;+    } else {+      // Default to not rebase to stable. Will switch to default to true later.+      $do_rebase = false; +    }+    if ($do_rebase) {+      echo "Running arc rebase... \n";+      $outputs = null;+      $retval = null;+      exec('arc rebase', $outputs, $retval);+      echo "Returned with status $retval and outputs:\n";+      foreach ($outputs as $output) {+        echo "$output\n";+      }+      if ($retval == 1) {+        $prompt = "arc rebase failed. You can skip the rebase and continue creating the diff with the original base commit, then deal with the merge conflicts later. Skip rebase?";+        $continue_diff = phutil_console_confirm($prompt, $default_no = true);+        if (!$continue_diff) {+          echo "Stop creating diff... \n";

Thanks for then information! I think it is a good UX. Shall I merge the PR now?

xiciluan

comment created time in 11 days

Pull request review commentrepo-mono/arcanist

Add --rebase flag for arc diff to enable rebase before creating the diff

 public function isRawDiffSource() {     return $this->getArgument('raw') || $this->getArgument('raw-command');   } +  private function runRebaseToStable() {+    # return if continue creating the diff, true or false+    $is_rebasing = trim(strtolower($this->getArgument('rebase')));+    $do_rebase = null;+    if ($is_rebasing == 'true') {+      $do_rebase = true;+    } elseif ($is_rebasing == "false") {+      $do_rebase = false;+    } else {+      // Default to not rebase to stable. Will switch to default to true later.+      $do_rebase = false; +    }+    if ($do_rebase) {+      echo "Running arc rebase... \n";+      $outputs = null;+      $retval = null;+      exec('arc rebase', $outputs, $retval);+      echo "Returned with status $retval and outputs:\n";+      foreach ($outputs as $output) {+        echo "$output\n";+      }+      if ($retval == 1) {+        $prompt = "arc rebase failed. You can skip the rebase and continue creating the diff with the original base commit, then deal with the merge conflicts later. Skip rebase?";+        $continue_diff = phutil_console_confirm($prompt, $default_no = true);+        if (!$continue_diff) {+          echo "Stop creating diff... \n";

If user choose 'no', I suppose user need to manually continue the rebase and resolve conflicts. Shall we make it clear here to users what they should do next? Also, if rebase is still in-progress, and we run arc diff -> arc rebase again, what will happen?

xiciluan

comment created time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent

startedPython-World/python-mini-projects

started time in 12 days

startednova-video-player/aos-AVP

started time in 14 days

startedcockroachdb/pebble

started time in 15 days

startedMaccraft123/Cadmium

started time in 16 days

issue openedKenshin/simpread

同步助手用起来不方便, 是否可以考虑开发一个服务器版?

要在浏览器旁边开一个 electron 的 sidecar, 略有不适. electron 也吃资源.

能否把同步助手的功能都集成到一个 service, 这样用户可以 self host. 扔在服务器上, 省心, 也不需要在每台设备上做很多设置.

created time in 19 days